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

Commit e60446b9 authored by Jason Sams's avatar Jason Sams
Browse files

Fix invokables to make sure script pointers are setup before invoking function...

Fix invokables to make sure script pointers are setup before invoking function calls.  Reduce app startup time up to 1s.
parent b6f2b131
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -2,8 +2,7 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.android.fountain">
    <application android:label="Fountain">
        <activity android:name="Fountain"
                  android:theme="@android:style/Theme.Translucent">
        <activity android:name="Fountain">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
+1 −1
Original line number Diff line number Diff line
@@ -317,7 +317,7 @@ Context::Context(Device *dev, Surface *sur, bool useDepth)
    }

    while(!mRunning) {
        sleep(1);
        usleep(100);
    }

    pthread_attr_destroy(&threadAttr);
+2 −2
Original line number Diff line number Diff line
@@ -159,7 +159,7 @@ void LocklessCommandFifo::makeSpace(uint32_t bytes)
    if ((mPut+bytes) > mEnd) {
        // Need to loop regardless of where get is.
        while((mGet > mPut) && (mBuffer+4 >= mGet)) {
            sleep(1);
            usleep(100);
        }

        // Toss in a reset then the normal wait for space will do the rest.
@@ -170,7 +170,7 @@ void LocklessCommandFifo::makeSpace(uint32_t bytes)

    // it will fit here so we just need to wait for space.
    while(getFreeSpace() < bytes) {
        sleep(1);
        usleep(100);
    }

}
+1 −0
Original line number Diff line number Diff line
@@ -94,6 +94,7 @@ void rsi_ScriptSetInvoke(Context *rsc, const char *name, uint32_t slot)
void rsi_ScriptInvoke(Context *rsc, RsScript vs, uint32_t slot)
{
    Script *s = static_cast<Script *>(vs);
    s->setupScript();
    s->mEnviroment.mInvokables[slot]();
}

+1 −0
Original line number Diff line number Diff line
@@ -69,6 +69,7 @@ public:



    virtual void setupScript() = 0;
    virtual bool run(Context *, uint32_t launchID) = 0;
};

Loading