diff options
Diffstat (limited to 'src/java/native/com_libmailcore_IMAPFetchContentOperation.cpp')
-rw-r--r-- | src/java/native/com_libmailcore_IMAPFetchContentOperation.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/java/native/com_libmailcore_IMAPFetchContentOperation.cpp b/src/java/native/com_libmailcore_IMAPFetchContentOperation.cpp index a8be97b8..24d3a090 100644 --- a/src/java/native/com_libmailcore_IMAPFetchContentOperation.cpp +++ b/src/java/native/com_libmailcore_IMAPFetchContentOperation.cpp @@ -38,9 +38,10 @@ JNIEXPORT void JNICALL Java_com_libmailcore_IMAPFetchContentOperation_setupNativ MC_SAFE_RELEASE(callback); MC_JAVA_NATIVE_INSTANCE->setImapCallback(NULL); - jobject javaListener = getObjectField(env, obj, "listener"); + jobject javaListener = getObjectField(env, obj, "listener", "Lcom/libmailcore/IMAPOperationProgressListener;"); if (javaListener != NULL) { - callback = new JavaIMAPOperationCallback(env, javaListener); + jobject c = reinterpret_cast<jobject>(env->NewGlobalRef(javaListener)); + callback = new JavaIMAPOperationCallback(env, c); MC_JAVA_NATIVE_INSTANCE->setImapCallback(callback); } MC_POOL_END; |