summaryrefslogtreecommitdiffstats
path: root/apps/hosted/android/keyboard.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/hosted/android/keyboard.c')
-rw-r--r--apps/hosted/android/keyboard.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/apps/hosted/android/keyboard.c b/apps/hosted/android/keyboard.c
index 9407d970fd..7c16cff079 100644
--- a/apps/hosted/android/keyboard.c
+++ b/apps/hosted/android/keyboard.c
@@ -59,14 +59,17 @@ static void kdb_init(void)
{
semaphore_init(&kbd_wakeup, 1, 0);
/* get the class and its constructor */
- RockboxKeyboardInput_class = e->FindClass(env_ptr,
+ jclass kbInput_class = e->FindClass(env_ptr,
"org/rockbox/RockboxKeyboardInput");
+ RockboxKeyboardInput_class = e->NewGlobalRef(env_ptr, kbInput_class);
jmethodID constructor = e->GetMethodID(env_ptr,
RockboxKeyboardInput_class,
"<init>", "()V");
- RockboxKeyboardInput_instance = e->NewObject(env_ptr,
- RockboxKeyboardInput_class,
- constructor);
+ jobject kbInput_instance = e->NewObject(env_ptr,
+ RockboxKeyboardInput_class,
+ constructor);
+ RockboxKeyboardInput_instance = e->NewGlobalRef(env_ptr,
+ kbInput_instance);
kbd_inputfunc = e->GetMethodID(env_ptr, RockboxKeyboardInput_class,
"kbd_input",
"(Ljava/lang/String;"