Hi, > Yep, I see. I didn't look at the file itself, only at the > patch, and got confused.
Ok, what's next? Will the patch be included? /Roman > > Thanks, > Dmitri > > > Roman Kennke wrote: > > Hi Dmitri, > > > >>> I need to repost my original patch for two reasons: 1. it doesn't apply > >>> cleanly (only with some fuzz), 2. it also has this init-loop problem. > >>> Find attached the correct version. I'd be happy to see it committed > >>> ASAP. > >> I have a question about the fix: > >> --- a/src/solaris/native/sun/awt/fontpath.c Thu Aug 07 09:42:31 > >> 2008 -0700 > >> +++ b/src/solaris/native/sun/awt/fontpath.c Wed Sep 10 23:52:15 > >> 2008 +0200 > >> @@ -156,7 +156,7 @@ > >> > >> isLocal = JNU_CallStaticMethodByName(env, NULL, > >> > >> "sun/awt/X11GraphicsEnvironment", > >> - "isDisplayLocal", > >> + "_isDisplayLocal", > >> "()Z").z; > >> > >> Didn't you change isDisplayLocal to be non-static > >> in X11GraphicsEnvironment? If so how does this actually > >> work since you still call CallStaticMethodByName? > > > > The _isDisplayLocal() is a static method in X11GraphicsEnvironment, > > which is called by isDisplayLocal() after entering the AWT monitor. The > > above code is already executed inside the AWT lock, so this is not a > > problem. And it is only called from the X11 backend anyway. Calling > > isDisplayLocal() results in a loop though, because it tries to load the > > X11GraphicsEnvironment class, which in turn causes the class initializer > > of SGE to be executed, which calls back into the code above, ad > > infinitum. This is why we call the static _isDisplayLocal() instead. The > > real solution would be to rework all the SGE and FontManager code, which > > we did, but send in a separate patch. :-) (You can also take a peek at > > this code in our repository > > (http://hg.openjdk.java.net/caciocavallo/jdk7/) ). > > > > Thanks, Roman > > > > -- http://kennke.org/blog/
signature.asc
Description: Dies ist ein digital signierter Nachrichtenteil