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
Here lies the code that comprises the java enhancers to mozilla. Authors: see the README files for each individual subdirectory Requirements: * JDK1.1.7 or greater (may work with lower versions, haven't checked). * M8 or post M8 mozilla tree * Perl 5 perl.exe must be in your path How To Build: * make it so the directory in which this file resides is a child of your top level mozilla directory * Copy the files .\config\buildpkg.bat and .\config\outofdate.pl to mozilla\config. These file were modified after M8 and the modifications are required to build java. * make sure the environment var JDKHOME is set to your jdk installation directory, ie SET JDKHOME=C:\jdk1.1.8 * type "nmake /f makefile.win all" and hope for the best * this should compile the clasess into %MOZ_SRC%\dist\classes Problems: * clobber_all doesn't remove the .class files from dist\classes. You have to do this manually. * post to netscape.public.mozilla.java newsgroup General notes: * Please update the ChangeLog (changelo) files in the subdirectories when you make changes.