SDL: wait for libapplication.so to load before launching main()
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
# Check if any of exported symbols in application clash with symbol from system libraries
|
# Check if any of exported symbols in application clash with symbol from system libraries
|
||||||
# Internal compiler things like '__aeabi_ddiv' or '___Unwind_Resume' may be safely ignored, but 'regcomp' will cause your app to fail.
|
# Internal compiler things like '__aeabi_ddiv' or '___Unwind_Resume' may be safely ignored, but 'regcomp' will cause your app to fail.
|
||||||
nm -g -p --defined-only project/obj/local/armeabi/*.so | cut -b 12- | sort | uniq | cat - exports-eclair.txt | sort | uniq -d
|
nm -g -p --defined-only project/obj/local/armeabi-v7a/*.so | cut -b 12- | sort | uniq | cat - exports-eclair.txt | sort | uniq -d
|
||||||
|
|||||||
@@ -1235,6 +1235,8 @@ public class MainActivity extends Activity
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Log.v("SDL", "libSDL: loaded all libraries");
|
||||||
|
ApplicationLibraryLoaded = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getApplicationVersion()
|
public int getApplicationVersion()
|
||||||
@@ -1310,6 +1312,7 @@ public class MainActivity extends Activity
|
|||||||
private String _screenKeyboardHintMessage = null;
|
private String _screenKeyboardHintMessage = null;
|
||||||
static boolean keyboardWithoutTextInputShown = false;
|
static boolean keyboardWithoutTextInputShown = false;
|
||||||
private boolean sdlInited = false;
|
private boolean sdlInited = false;
|
||||||
|
public static boolean ApplicationLibraryLoaded = false;
|
||||||
|
|
||||||
public interface TouchEventsListener
|
public interface TouchEventsListener
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -675,8 +675,10 @@ class DemoRenderer extends GLSurfaceView_SDL.Renderer
|
|||||||
|
|
||||||
mGlContextLost = false;
|
mGlContextLost = false;
|
||||||
|
|
||||||
if(Globals.CompatibilityHacksStaticInit)
|
if( Globals.CompatibilityHacksStaticInit )
|
||||||
MainActivity.LoadApplicationLibrary(context);
|
MainActivity.LoadApplicationLibrary(context);
|
||||||
|
while( !MainActivity.ApplicationLibraryLoaded )
|
||||||
|
try { Thread.sleep(200); } catch (InterruptedException eeee) {}
|
||||||
|
|
||||||
Settings.Apply(context);
|
Settings.Apply(context);
|
||||||
Settings.nativeSetEnv( "DISPLAY_RESOLUTION_WIDTH", String.valueOf(Math.max(mWidth, mHeight)) );
|
Settings.nativeSetEnv( "DISPLAY_RESOLUTION_WIDTH", String.valueOf(Math.max(mWidth, mHeight)) );
|
||||||
@@ -686,7 +688,7 @@ class DemoRenderer extends GLSurfaceView_SDL.Renderer
|
|||||||
if( Globals.MoveMouseWithGyroscope )
|
if( Globals.MoveMouseWithGyroscope )
|
||||||
startAccelerometerGyroscope(1);
|
startAccelerometerGyroscope(1);
|
||||||
// Tweak video thread priority, if user selected big audio buffer
|
// Tweak video thread priority, if user selected big audio buffer
|
||||||
if(Globals.AudioBufferConfig >= 2)
|
if( Globals.AudioBufferConfig >= 2 )
|
||||||
Thread.currentThread().setPriority( (Thread.NORM_PRIORITY + Thread.MIN_PRIORITY) / 2 ); // Lower than normal
|
Thread.currentThread().setPriority( (Thread.NORM_PRIORITY + Thread.MIN_PRIORITY) / 2 ); // Lower than normal
|
||||||
// Calls main() and never returns, hehe - we'll call eglSwapBuffers() from native code
|
// Calls main() and never returns, hehe - we'll call eglSwapBuffers() from native code
|
||||||
nativeInit( Globals.DataDir,
|
nativeInit( Globals.DataDir,
|
||||||
|
|||||||
Submodule project/jni/application/xserver/xserver updated: d0bceab146...4a358c88bf
@@ -14,7 +14,7 @@ Install latest Android SDK and NDK from http://developer.android.com/index.html
|
|||||||
You'll need to install Java Ant too. Since for building apk files some java classes are needed as well,
|
You'll need to install Java Ant too. Since for building apk files some java classes are needed as well,
|
||||||
it is recommended to install OpenJDK and its development files. (On RPM based distros
|
it is recommended to install OpenJDK and its development files. (On RPM based distros
|
||||||
usually called java-x.x.x-openjdk and java-x.x.x-openjdk-devel)
|
usually called java-x.x.x-openjdk and java-x.x.x-openjdk-devel)
|
||||||
The application will run on Android 3.0 and above, but will use features from Android 5.0 if available.
|
The application will run on Android 1.6 and above, but will use features from Android 5.0 if available.
|
||||||
The most supported environment for this port is Linux, MacOs should be okay too.
|
The most supported environment for this port is Linux, MacOs should be okay too.
|
||||||
If you're developing under Windows you'd better install Portable Ubuntu, to get proper Linux environment
|
If you're developing under Windows you'd better install Portable Ubuntu, to get proper Linux environment
|
||||||
running inside Windows, then install Linux toolchain on it.
|
running inside Windows, then install Linux toolchain on it.
|
||||||
|
|||||||
Reference in New Issue
Block a user