From f3f6f461a6e73ddf8de03ef9f9e98f612c57ddc4 Mon Sep 17 00:00:00 2001 From: Sergii Pylypenko Date: Wed, 26 Mar 2014 21:24:01 +0200 Subject: [PATCH] Xserver: herp-derp crash fix for Xperia X10 devices, just by adding more logs --- project/jni/application/openttd/src | 2 +- .../xserver/AndroidAppSettings.cfg | 6 ++--- project/jni/application/xserver/gfx.c | 22 +++++++++++-------- project/jni/application/xserver/xserver | 2 +- 4 files changed, 18 insertions(+), 14 deletions(-) diff --git a/project/jni/application/openttd/src b/project/jni/application/openttd/src index 55a09da6b..61e8275eb 160000 --- a/project/jni/application/openttd/src +++ b/project/jni/application/openttd/src @@ -1 +1 @@ -Subproject commit 55a09da6b2f277732083a2026a306f72f8622058 +Subproject commit 61e8275ebfe9b9ffbf8e4c8493e7797728493455 diff --git a/project/jni/application/xserver/AndroidAppSettings.cfg b/project/jni/application/xserver/AndroidAppSettings.cfg index 5f1cfbf83..49fa4367f 100644 --- a/project/jni/application/xserver/AndroidAppSettings.cfg +++ b/project/jni/application/xserver/AndroidAppSettings.cfg @@ -7,10 +7,10 @@ AppName="XServer XSDL" AppFullName=x.org.server # Application version code (integer) -AppVersionCode=11112 +AppVersionCode=11114 # Application user-visible version name (string) -AppVersionName="1.11.12" +AppVersionName="1.11.14" # Specify path to download application data in zip archive in the form 'Description|URL|MirrorURL^Description2|URL2|MirrorURL2^...' # If you'll start Description with '!' symbol it will be enabled by default, other downloads should be selected by user from startup config menu @@ -224,7 +224,7 @@ AppLdflags='' AppOverlapsSystemHeaders= # Build only following subdirs (empty will build all dirs, ignored with custom script) -AppSubdirsBuild='' +AppSubdirsBuild='none' # Exclude these files from build AppBuildExclude='' diff --git a/project/jni/application/xserver/gfx.c b/project/jni/application/xserver/gfx.c index 3cc65cf09..6244305bf 100644 --- a/project/jni/application/xserver/gfx.c +++ b/project/jni/application/xserver/gfx.c @@ -31,6 +31,7 @@ static void showErrorMessage(const char *msg); void * unpackFilesThread(void * unused) { char fname[PATH_MAX*2]; + char buf[1024 * 4]; strcpy( fname, getenv("SECURE_STORAGE_DIR") ); strcat( fname, "/usr/lib/xorg/protocol.txt" ); struct stat st; @@ -49,24 +50,26 @@ void * unpackFilesThread(void * unused) unpackProgressMb = 0; - FILE * ff = fopen("data.tar.gz", "rb"); strcpy( fname, getenv("SECURE_STORAGE_DIR") ); strcat( fname, "/busybox" ); strcat( fname, " tar xz -C " ); strcat( fname, getenv("SECURE_STORAGE_DIR") ); FILE * fo = popen(fname, "w"); + FILE * ff = fopen("data.tar.gz", "rb"); if( !ff || !fo ) { __android_log_print(ANDROID_LOG_INFO, "XSDL", "Error extracting data"); unpackFinished = 1; return (void *)0; } + __android_log_print(ANDROID_LOG_INFO, "XSDL", "POPEN OK"); int unpackProgressKb = 0; for(;;) { - char buf[1024 * 8]; + __android_log_print(ANDROID_LOG_INFO, "XSDL", "FREAD %d", unpackProgressKb); int cnt = fread( buf, 1, sizeof(buf), ff ); + __android_log_print(ANDROID_LOG_INFO, "XSDL", "FREAD %d READ %d", unpackProgressKb, cnt); if( cnt < 0 ) { __android_log_print(ANDROID_LOG_INFO, "XSDL", "Error extracting data"); @@ -76,26 +79,27 @@ void * unpackFilesThread(void * unused) fwrite( buf, 1, cnt, fo ); if( cnt < sizeof(buf) ) break; - unpackProgressKb += 8; + unpackProgressKb += 4; if( unpackProgressKb >= 1024 ) { unpackProgressKb = 0; unpackProgressMb++; } } + __android_log_print(ANDROID_LOG_INFO, "XSDL", "FREAD %d DONE", unpackProgressKb); fclose(ff); - if( pclose(fo) != 0 ) + if( pclose(fo) != 0 ) // Returns error on Android 2.3 emulator! { - __android_log_print(ANDROID_LOG_INFO, "XSDL", "Error extracting data"); - unpackFinished = 1; - return (void *)0; + __android_log_print(ANDROID_LOG_INFO, "XSDL", "Error extracting data - pclose() returned error"); + //unpackFinished = 1; + //return (void *)0; } - remove("data.tar.gz"); - __android_log_print(ANDROID_LOG_INFO, "XSDL", "Extracting data finished"); + remove("data.tar.gz"); + strcpy( fname, getenv("SECURE_STORAGE_DIR") ); strcat( fname, "/postinstall.sh" ); if( stat( fname, &st ) != 0 ) diff --git a/project/jni/application/xserver/xserver b/project/jni/application/xserver/xserver index 68765fa3a..0d6c8e37a 160000 --- a/project/jni/application/xserver/xserver +++ b/project/jni/application/xserver/xserver @@ -1 +1 @@ -Subproject commit 68765fa3adc1d6b74b61e5eceb22cf33bc578681 +Subproject commit 0d6c8e37a0027ecbe865bc477e3fff237ed58aa2