[Scummvm-cvs-logs] scummvm master -> 400763390e20c6b2b9d5b29de9cfdafc93d227e2

fuzzie fuzzie at fuzzie.org
Thu May 16 13:03:31 CEST 2013


This automated email contains information about 4 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
89d9a624d9 ANDROID: Delete local JNI references to asset data/classes.
c96b75e1f7 ANDROID: Ignore subdirectories of asset archives.
8d488f9f70 ANDROID: Force htc_fail for all Android devices, for now.
400763390e ANDROID: Disable parachute slot 0 saves.


Commit: 89d9a624d9f0b4f5ba07259d5f90f7f85f15a0df
    https://github.com/scummvm/scummvm/commit/89d9a624d9f0b4f5ba07259d5f90f7f85f15a0df
Author: Alyssa Milburn (fuzzie at fuzzie.org)
Date: 2013-05-16T03:55:06-07:00

Commit Message:
ANDROID: Delete local JNI references to asset data/classes.

Changed paths:
    backends/platform/android/asset-archive.cpp



diff --git a/backends/platform/android/asset-archive.cpp b/backends/platform/android/asset-archive.cpp
index 14840de..f1decfb 100644
--- a/backends/platform/android/asset-archive.cpp
+++ b/backends/platform/android/asset-archive.cpp
@@ -97,7 +97,9 @@ JavaInputStream::JavaInputStream(JNIEnv *env, jobject is) :
 {
 	_input_stream = env->NewGlobalRef(is);
 	_buflen = 8192;
-	_buf = (jbyteArray)env->NewGlobalRef(env->NewByteArray(_buflen));
+	jobject buf = env->NewByteArray(_buflen);
+	_buf = (jbyteArray)env->NewGlobalRef(buf);
+	env->DeleteLocalRef(buf);
 
 	jclass cls = env->GetObjectClass(_input_stream);
 	MID_mark = env->GetMethodID(cls, "mark", "(I)V");
@@ -112,6 +114,7 @@ JavaInputStream::JavaInputStream(JNIEnv *env, jobject is) :
 	assert(MID_reset);
 	MID_skip = env->GetMethodID(cls, "skip", "(J)J");
 	assert(MID_skip);
+	env->DeleteLocalRef(cls);
 
 	// Mark start of stream, so we can reset back to it.
 	// readlimit is set to something bigger than anything we might
@@ -142,7 +145,9 @@ uint32 JavaInputStream::read(void *dataPtr, uint32 dataSize) {
 		_buflen = dataSize;
 
 		env->DeleteGlobalRef(_buf);
-		_buf = static_cast<jbyteArray>(env->NewGlobalRef(env->NewByteArray(_buflen)));
+		jobject buf = env->NewByteArray(_buflen);
+		_buf = static_cast<jbyteArray>(env->NewGlobalRef(buf));
+		env->DeleteLocalRef(buf);
 	}
 
 	jint ret = env->CallIntMethod(_input_stream, MID_read, _buf, 0, dataSize);
@@ -290,6 +295,7 @@ AssetFdReadStream::AssetFdReadStream(JNIEnv *env, jobject assetfd) :
 	jclass cls = env->GetObjectClass(_assetfd);
 	MID_close = env->GetMethodID(cls, "close", "()V");
 	assert(MID_close);
+	env->DeleteLocalRef(cls);
 
 	jmethodID MID_getStartOffset =
 		env->GetMethodID(cls, "getStartOffset", "()J");
@@ -311,8 +317,10 @@ AssetFdReadStream::AssetFdReadStream(JNIEnv *env, jobject assetfd) :
 	jclass fd_cls = env->GetObjectClass(javafd);
 	jfieldID FID_descriptor = env->GetFieldID(fd_cls, "descriptor", "I");
 	assert(FID_descriptor);
+	env->DeleteLocalRef(fd_cls);
 
 	_fd = env->GetIntField(javafd, FID_descriptor);
+	env->DeleteLocalRef(javafd);
 }
 
 AssetFdReadStream::~AssetFdReadStream() {
@@ -382,6 +390,7 @@ AndroidAssetArchive::AndroidAssetArchive(jobject am) {
 	MID_list = env->GetMethodID(cls, "list",
 								"(Ljava/lang/String;)[Ljava/lang/String;");
 	assert(MID_list);
+	env->DeleteLocalRef(cls);
 }
 
 AndroidAssetArchive::~AndroidAssetArchive() {
@@ -481,8 +490,10 @@ Common::SeekableReadStream *AndroidAssetArchive::createReadStreamForMember(const
 		env->ExceptionClear();
 	else if (afd != 0) {
 		// success :)
+		Common::SeekableReadStream *stream = new AssetFdReadStream(env, afd);
 		env->DeleteLocalRef(jpath);
-		return new AssetFdReadStream(env, afd);
+		env->DeleteLocalRef(afd);
+		return stream;
 	}
 
 	// ... and fallback to normal open() if that doesn't work
@@ -498,7 +509,10 @@ Common::SeekableReadStream *AndroidAssetArchive::createReadStreamForMember(const
 		return 0;
 	}
 
-	return new JavaInputStream(env, is);
+	Common::SeekableReadStream *stream = new JavaInputStream(env, is);
+	env->DeleteLocalRef(jpath);
+	env->DeleteLocalRef(is);
+	return stream;
 }
 
 #endif


Commit: c96b75e1f7c3ca7c46aafc51d7d1fd841417c15c
    https://github.com/scummvm/scummvm/commit/c96b75e1f7c3ca7c46aafc51d7d1fd841417c15c
Author: Alyssa Milburn (fuzzie at fuzzie.org)
Date: 2013-05-16T03:56:41-07:00

Commit Message:
ANDROID: Ignore subdirectories of asset archives.

Changed paths:
    backends/platform/android/asset-archive.cpp



diff --git a/backends/platform/android/asset-archive.cpp b/backends/platform/android/asset-archive.cpp
index f1decfb..da378fb 100644
--- a/backends/platform/android/asset-archive.cpp
+++ b/backends/platform/android/asset-archive.cpp
@@ -461,7 +461,9 @@ int AndroidAssetArchive::listMembers(Common::ArchiveMemberList &member_list) con
 					member_list.push_back(getMember(thispath));
 					++count;
 				} else {
-					dirlist.push_back(thispath);
+					// AssetManager is ridiculously slow and we don't care
+					// about subdirectories at the moment, so ignore them.
+					// dirlist.push_back(thispath);
 				}
 			}
 


Commit: 8d488f9f70171fa33ff7013efb7cc476e15f8bda
    https://github.com/scummvm/scummvm/commit/8d488f9f70171fa33ff7013efb7cc476e15f8bda
Author: Alyssa Milburn (fuzzie at fuzzie.org)
Date: 2013-05-16T03:57:21-07:00

Commit Message:
ANDROID: Force htc_fail for all Android devices, for now.

Changed paths:
    backends/platform/android/android.cpp



diff --git a/backends/platform/android/android.cpp b/backends/platform/android/android.cpp
index 0b31ee7..f06e4be 100644
--- a/backends/platform/android/android.cpp
+++ b/backends/platform/android/android.cpp
@@ -116,7 +116,7 @@ OSystem_Android::OSystem_Android(int audio_sample_rate, int audio_buffer_size) :
 	_screen_changeid(0),
 	_egl_surface_width(0),
 	_egl_surface_height(0),
-	_htc_fail(false),
+	_htc_fail(true),
 	_force_redraw(false),
 	_game_texture(0),
 	_overlay_texture(0),
@@ -162,10 +162,10 @@ OSystem_Android::OSystem_Android(int audio_sample_rate, int audio_buffer_size) :
 			getSystemProperty("ro.product.cpu.abi").c_str());
 
 	mf.toLowercase();
-	_htc_fail = mf.contains("htc");
+	/*_htc_fail = mf.contains("htc");
 
 	if (_htc_fail)
-		LOGI("Enabling HTC workaround");
+		LOGI("Enabling HTC workaround");*/
 }
 
 OSystem_Android::~OSystem_Android() {


Commit: 400763390e20c6b2b9d5b29de9cfdafc93d227e2
    https://github.com/scummvm/scummvm/commit/400763390e20c6b2b9d5b29de9cfdafc93d227e2
Author: Alyssa Milburn (fuzzie at fuzzie.org)
Date: 2013-05-16T04:01:32-07:00

Commit Message:
ANDROID: Disable parachute slot 0 saves.

Changed paths:
    backends/platform/android/jni.cpp



diff --git a/backends/platform/android/jni.cpp b/backends/platform/android/jni.cpp
index a7ebb87..2b738dd 100644
--- a/backends/platform/android/jni.cpp
+++ b/backends/platform/android/jni.cpp
@@ -603,10 +603,10 @@ void JNI::setPause(JNIEnv *env, jobject self, jboolean value) {
 
 		g_engine->pauseEngine(value);
 
-		if (value &&
+		/*if (value &&
 				g_engine->hasFeature(Engine::kSupportsSavingDuringRuntime) &&
 				g_engine->canSaveGameStateCurrently())
-			g_engine->saveGameState(0, "Android parachute");
+			g_engine->saveGameState(0, "Android parachute");*/
 	}
 
 	pause = value;






More information about the Scummvm-git-logs mailing list