From b5caf53a8ca9a6133a7a9af4535bbd3cbd5f9677 Mon Sep 17 00:00:00 2001 From: pelya Date: Wed, 24 Nov 2010 20:26:49 +0200 Subject: [PATCH] Removed debugging crash in video code, fixed OpenTTD --- .../jni/application/openttd/AndroidBuild.sh | 2 +- .../openttd/openttd-trunk-android.patch | 26 ++++++++++++++----- .../src/video/android/SDL_androidvideo-1.2.c | 5 +++- 3 files changed, 25 insertions(+), 8 deletions(-) diff --git a/project/jni/application/openttd/AndroidBuild.sh b/project/jni/application/openttd/AndroidBuild.sh index 5bf2857c5..efdc0d0d1 100755 --- a/project/jni/application/openttd/AndroidBuild.sh +++ b/project/jni/application/openttd/AndroidBuild.sh @@ -18,4 +18,4 @@ fi if [ \! -f openttd/Makefile ] ; then ../setEnvironment.sh sh -c "cd openttd && ./configure --host=arm-eabi --with-sdl --with-freetype=sdl-config --with-png --with-zlib --with-libtimidity=$LOCAL_PATH/../../../obj/local/armeabi/libtimidity.so --with-lzo2=$LOCAL_PATH/../../../obj/local/armeabi/liblzo2.so --prefix-dir='.' --data-dir='' --without-allegro --without-fontconfig --endian=LE" fi -../setEnvironment.sh sh -c "cd openttd && make -j1 VERBOSE=1 LIBS='-lsdl-1.2 -llzo2 -lpng -ltimidity -lfreetype -lgcc -lz -lc -lstdc++'" && cp -f openttd/objs/release/openttd libapplication.so +../setEnvironment.sh sh -c "cd openttd && make -j1 VERBOSE=1 STRIP='' LIBS='-lsdl-1.2 -llzo2 -lpng -ltimidity -lfreetype -lgcc -lz -lc -lstdc++'" && cp -f openttd/objs/release/openttd libapplication.so diff --git a/project/jni/application/openttd/openttd-trunk-android.patch b/project/jni/application/openttd/openttd-trunk-android.patch index aa143219f..4e8858b3e 100644 --- a/project/jni/application/openttd/openttd-trunk-android.patch +++ b/project/jni/application/openttd/openttd-trunk-android.patch @@ -1,6 +1,20 @@ +Index: src/video/sdl_v.cpp +=================================================================== +--- src/video/sdl_v.cpp (revision 21311) ++++ src/video/sdl_v.cpp (working copy) +@@ -485,6 +485,9 @@ + SDL_CALL SDL_EnableUNICODE(1); + + _draw_threaded = GetDriverParam(parm, "no_threads") == NULL && GetDriverParam(parm, "no_thread") == NULL; ++#ifdef ANDROID ++ _draw_threaded = false; ++#endif + + return NULL; + } Index: src/sound/sdl_s.cpp =================================================================== ---- src/sound/sdl_s.cpp (revision 21293) +--- src/sound/sdl_s.cpp (revision 21311) +++ src/sound/sdl_s.cpp (working copy) @@ -20,9 +20,16 @@ @@ -21,7 +35,7 @@ Index: src/sound/sdl_s.cpp const char *SoundDriver_SDL::Start(const char * const *parm) Index: src/music/libtimidity.cpp =================================================================== ---- src/music/libtimidity.cpp (revision 21293) +--- src/music/libtimidity.cpp (revision 21311) +++ src/music/libtimidity.cpp (working copy) @@ -23,10 +23,13 @@ #include @@ -64,7 +78,7 @@ Index: src/music/libtimidity.cpp Index: src/os/unix/unix.cpp =================================================================== ---- src/os/unix/unix.cpp (revision 21293) +--- src/os/unix/unix.cpp (revision 21311) +++ src/os/unix/unix.cpp (working copy) @@ -24,7 +24,7 @@ @@ -89,7 +103,7 @@ Index: src/os/unix/unix.cpp int ret; Index: src/os/unix/crashlog_unix.cpp =================================================================== ---- src/os/unix/crashlog_unix.cpp (revision 21293) +--- src/os/unix/crashlog_unix.cpp (revision 21311) +++ src/os/unix/crashlog_unix.cpp (working copy) @@ -141,7 +141,11 @@ }; @@ -105,7 +119,7 @@ Index: src/os/unix/crashlog_unix.cpp * Entry point for the crash handler. Index: src/network/core/os_abstraction.h =================================================================== ---- src/network/core/os_abstraction.h (revision 21293) +--- src/network/core/os_abstraction.h (revision 21311) +++ src/network/core/os_abstraction.h (working copy) @@ -159,7 +159,7 @@ # include @@ -118,7 +132,7 @@ Index: src/network/core/os_abstraction.h * the list of IPs from the system. */ Index: src/debug.cpp =================================================================== ---- src/debug.cpp (revision 21293) +--- src/debug.cpp (revision 21311) +++ src/debug.cpp (working copy) @@ -16,6 +16,9 @@ #include "string_func.h" diff --git a/project/jni/sdl-1.2/src/video/android/SDL_androidvideo-1.2.c b/project/jni/sdl-1.2/src/video/android/SDL_androidvideo-1.2.c index e8e0f4e8e..ac94d8954 100644 --- a/project/jni/sdl-1.2/src/video/android/SDL_androidvideo-1.2.c +++ b/project/jni/sdl-1.2/src/video/android/SDL_androidvideo-1.2.c @@ -798,11 +798,14 @@ static void ANDROID_UpdateRects(_THIS, int numrects, SDL_Rect *rects) { if( SDL_VideoThreadID != SDL_ThreadID() ) { + /* + // Crash to get stack trace and determine culprit thread static count = 100; - __android_log_print(ANDROID_LOG_INFO, "libSDL", "Error: calling %s not from the main thread!", __PRETTY_FUNCTION__); count--; if(count <=0 ) abort(); + */ + __android_log_print(ANDROID_LOG_INFO, "libSDL", "Error: calling %s not from the main thread!", __PRETTY_FUNCTION__); return; }