<AWT Dev> [7u4] Code Review Request for CR 7082294 - nsk/regression/b4265661 crashes on windows - approved

Alexey Utkin alexey.utkin at oracle.com
Thu Feb 9 04:37:57 PST 2012


Looks good for me.
-uta

On 2/3/2012 20:40, Oleg Pekhovskiy wrote:
> Hi guys!
>
> Here is the description of CR:
> http://bugs.sun.com/view_bug.do?bug_id=7082294
>
> Patch with changes attached.
>
> Description of the fix:
> Sometimes execution of AwtObjectList::Cleanup() could be delayed by
> posting WM_AWT_OBJECTLISTCLEANUP message.
>   From the other side this method is called from AwtToolkit::Dispose().
> There AwtObjectList::Cleanup() is followed by AwtFont::Cleanup().
> Thus, sometimes we could have the situation when AwtFont::Cleanup() is
> called before the main functionality of AwtObjectList::Cleanup().
> It means that all HFONT objects would be deleted from AwtFontCache.
> So when AwtFont::Dispose() would be called from AwtObjectList::Cleanup()
> it would not find HFONT in AwtFontCache and would try to delete HFONT
> (that is deleted in AwtFontCache) once again.
> There is also a custom message pump in AwtToolkit::Dispose() that allows
> posted WM_AWT_OBJECTLISTCLEANUP be handled.
> If we move AwtFont::Cleanup() right after that message pump we guarantee
> that AwtObjectList::Cleanup() would always be called before
> AwtFont::Cleanup().
> That what my fix is about.
>
> PS: I also left my changes in AwtFont to emilinate invalid HFONT usage
> and access violation probability between AwtFont::Dispose() and
> AwtFont::~AwtFont() calls.
>
> PPS: This implementation is a kind of workaround for 7u4. As for JDK 8 
> - font caching should be improved.
>
> Thanks,
> Oleg.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/awt-dev/attachments/20120209/d5552e69/attachment.html 


More information about the awt-dev mailing list