aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/java/native/com_libmailcore_IMAPFetchContentOperation.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/java/native/com_libmailcore_IMAPFetchContentOperation.cpp')
-rw-r--r--src/java/native/com_libmailcore_IMAPFetchContentOperation.cpp5
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;