[Android] Fixes #2679 - Crash resuming from screen off
Before destroying the static Java-side data, wait for the SDL native thread, *and* the listener thread that waits on it to trigger a clean up.
This commit is contained in:
parent
60df813042
commit
e7f2f85c3d
1 changed files with 6 additions and 5 deletions
|
@ -932,16 +932,16 @@ class SDLSurface extends SurfaceView implements SurfaceHolder.Callback,
|
|||
// This is the entry point to the C app.
|
||||
// Start up the C app thread and enable sensor input for the first time
|
||||
|
||||
SDLActivity.mSDLThread = new Thread(new SDLMain(), "SDLThread");
|
||||
final Thread sdlThread = new Thread(new SDLMain(), "SDLThread");
|
||||
enableSensor(Sensor.TYPE_ACCELEROMETER, true);
|
||||
SDLActivity.mSDLThread.start();
|
||||
sdlThread.start();
|
||||
|
||||
// Set up a listener thread to catch when the native thread ends
|
||||
new Thread(new Runnable(){
|
||||
SDLActivity.mSDLThread = new Thread(new Runnable(){
|
||||
@Override
|
||||
public void run(){
|
||||
try {
|
||||
SDLActivity.mSDLThread.join();
|
||||
sdlThread.join();
|
||||
}
|
||||
catch(Exception e){}
|
||||
finally{
|
||||
|
@ -951,7 +951,8 @@ class SDLSurface extends SurfaceView implements SurfaceHolder.Callback,
|
|||
}
|
||||
}
|
||||
}
|
||||
}).start();
|
||||
});
|
||||
SDLActivity.mSDLThread.start();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue