Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 667fb848 authored by Shih-wei Liao's avatar Shih-wei Liao
Browse files

Whenever LoadBinary fails, recompile. Fixing the multi-instance bug.

Change-Id: Ib1565efe1353ed788a3ed3c81c6067e92d8ef0e5
parent c32dd5f2
Loading
Loading
Loading
Loading
+8 −1
Original line number Original line Diff line number Diff line
@@ -420,7 +420,14 @@ void ScriptCState::runCompiler(Context *rsc, ScriptC *s, const char *resName, co
        } else {
        } else {
          // bccReadBC returns a neagative value: Didn't read any script,
          // bccReadBC returns a neagative value: Didn't read any script,
          // So, use cached binary instead
          // So, use cached binary instead
          bccLoadBinary(s->mBccScript);
          if (bccLoadBinary(s->mBccScript)) {  // LoadBinary fails ==> Recompile
            bccReadBC(s->mBccScript,
                      s->mEnviroment.mScriptText,
                      s->mEnviroment.mScriptTextLength,
                      NULL,
                      cacheDir);
            bccCompileBC(s->mBccScript);
          }
        }
        }
        bccGetScriptLabel(s->mBccScript, "root", (BCCvoid**) &s->mProgram.mRoot);
        bccGetScriptLabel(s->mBccScript, "root", (BCCvoid**) &s->mProgram.mRoot);
        bccGetScriptLabel(s->mBccScript, "init", (BCCvoid**) &s->mProgram.mInit);
        bccGetScriptLabel(s->mBccScript, "init", (BCCvoid**) &s->mProgram.mInit);