Basically, we were storing a local jobject ref and using it on
another thread without calling NewGlobalRef.
The fix is below:
cvs diff WindowControlImpl.cpp NativeEventThread.cpp (in directory D:\Projects\mozilla\java\webclient\src_moz\)
Index: WindowControlImpl.cpp
===================================================================
RCS file: /cvsroot/mozilla/java/webclient/src_moz/WindowControlImpl.cpp,v
retrieving revision 1.5
diff -r1.5 WindowControlImpl.cpp
131c131,134
< initContext->nativeEventThread = nsnull;
---
> if (nsnull != initContext->nativeEventThread) {
> ::util_DeleteGlobalRef(env, initContext->nativeEventThread);
> initContext->nativeEventThread = nsnull;
> }
Index: NativeEventThread.cpp
===================================================================
RCS file: /cvsroot/mozilla/java/webclient/src_moz/NativeEventThread.cpp,v
retrieving revision 1.7
diff -r1.7 NativeEventThread.cpp
213c213,215
< initContext->nativeEventThread = obj; // VERY IMPORTANT!!
---
> initContext->nativeEventThread =
> ::util_NewGlobalRef(env, obj); // VERY IMPORTANT!!
>
*****CVS exited normally with code 1*****
git-svn-id: svn://10.0.0.236/trunk@64778 18797224-902f-48f8-a5cc-f745e15eee43
7.9 KiB
7.9 KiB