From 662ba4868af3981dcc64e271f49ee0bd72cd19e5 Mon Sep 17 00:00:00 2001 From: Thomas Martitz Date: Fri, 11 Mar 2011 22:48:10 +0000 Subject: Create GlobalRef in surfaceCreated, in accordance to r29572. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@29574 a1c6a512-1295-4272-9138-f99709370657 --- firmware/target/hosted/android/lcd-android.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) (limited to 'firmware/target/hosted') diff --git a/firmware/target/hosted/android/lcd-android.c b/firmware/target/hosted/android/lcd-android.c index b1d27280b0..172e832c2a 100644 --- a/firmware/target/hosted/android/lcd-android.c +++ b/firmware/target/hosted/android/lcd-android.c @@ -46,15 +46,8 @@ static bool display_on; void connect_with_java(JNIEnv* env, jobject fb_instance) { JNIEnv e = *env; - /* Update RockboxFramebuffer_instance */ - if (!e->IsSameObject(env, RockboxFramebuffer_instance, fb_instance)) { - if (RockboxFramebuffer_instance != NULL) - e->DeleteGlobalRef(env, RockboxFramebuffer_instance); - - RockboxFramebuffer_instance = e->NewGlobalRef(env, fb_instance); - } - static bool have_class; + if (!have_class) { jclass fb_class = e->GetObjectClass(env, fb_instance); @@ -123,6 +116,8 @@ Java_org_rockbox_RockboxFramebuffer_surfaceCreated(JNIEnv *env, jobject this, jobject surfaceholder) { (void)surfaceholder; + /* Update RockboxFramebuffer_instance */ + RockboxFramebuffer_instance = (*env)->NewGlobalRef(env, this); /* possibly a new instance - reconnect */ connect_with_java(env, this); display_on = true; -- cgit v1.2.3