<AWT Dev> [9] Review Request: 8047061 [macosx] Crash when setting display mode
Petr Pchelko
petr.pchelko at oracle.com
Tue Jun 17 12:43:34 UTC 2014
Hello, AWT Team.
Please review the fix for the issue:
https://bugs.openjdk.java.net/browse/JDK-8047061
The fix is available at:
http://cr.openjdk.java.net/~pchelko/9/8047061/webrev/
When we are searching through valid display modes we are storing them in an array. Before the fix we were passing NULL
CFArrayCallbacks structure making an array of weak references. (the CFArrayCallbacks is a structure of the function pointers
which are called to retain and release elements of the array) So we were relying on the fact that Carbon also retains the pointers
we are using internally. But sometimes it's not the case. The solution is simple - pass default array callbacks structure to create
an array of strong references which can be passed around.
I've checked that no native memory leak is introduced with this change.
With best regards. Petr.
More information about the awt-dev
mailing list