diff --git a/etc/html/saveScriptOutput.C b/etc/html/saveScriptOutput.C index 8eac791360f7fabfcce0968f0c7cd048198f0d4b..8695b5f42fd1eff0d50facedc036aa61fd56f9d0 100644 --- a/etc/html/saveScriptOutput.C +++ b/etc/html/saveScriptOutput.C @@ -12,7 +12,8 @@ #include "TEnv.h" #include "TVirtualX.h" -int saveScriptOutput(const char* script, const char* outdir, Bool_t compiled) { +int saveScriptOutput(const char* script, const char* outdir, Bool_t compiled) +{ // Run script and save all windows to // outdir/script_0.png, outdir/script_1.png, ... @@ -34,6 +35,12 @@ int saveScriptOutput(const char* script, const char* outdir, Bool_t compiled) { cmd += "+"; if (!gROOT->IsBatch()) gVirtualX->Sync(1); + + // save current interpreter context to avoid gROOT->Reset() + // in the script to cause havoc by wiping everything away + gInterpreter->SaveContext(); + gInterpreter->SaveGlobalsContext(); + gROOT->ProcessLine(cmd, &err); if (err != TInterpreter::kNoError) return kCannotRunScript;