<AWT Dev> [9] Request for review: JDK-8145984 sun.lwawt.macosx.CAccessible leaks
Sergey Bylokhov
Sergey.Bylokhov at oracle.com
Mon Dec 28 13:12:14 UTC 2015
Hi, Anton.
It seems that the fix does not take into account that the component can
be recreated by the addNotify(), in this case the old(but already
disposed) CAccessible object will be used in the AccessibleContext via
nativeAXResource field(see CAccessible.getCAccessible()). I guess this
can be verified somehow by the test that AXTextChangeNotifier is not
called in this case. Probably it can be simplified by the
sun.java2d.Disposer.
On 23/12/15 10:59, Anton Tarasov wrote:
> Sure, I would also appreciate if someone could apply the fix and do a
> sanity check on your side.
>
> (Yes, I’m aware that Android Studio team is working extensively on a11y
> support. OSX issues are pending resolution indeed…)
>
> I’ve updated the copyrights:
>
> http://cr.openjdk.java.net/~ant/JDK-8145984/jdk9/webrev.1
>
> Thanks,
> Anton.
>
>> On 23 Dec 2015, at 00:55, Pete Brunet <peter.brunet at oracle.com
>> <mailto:peter.brunet at oracle.com>> wrote:
>>
>> Thanks for the reply Anton and thanks for the fix you are working on.
>> It will be good to get at least one other set of eyes on the changes
>> as I am not very familiar with that code (but am starting to because
>> I'm looking into fixing some accessibility issues raised by the
>> Andriod Studio team). -Pete
>>
>> On 12/22/15 3:45 PM, Anton Tarasov wrote:
>>> Hi Pete,
>>>
>>> Thanks for the review!
>>>
>>>> On 22 Dec 2015, at 23:07, Pete Brunet
>>>> <<mailto:peter.brunet at oracle.com>peter.brunet at oracle.com> wrote:
>>>>
>>>> Hi Anton, Some comments/questions:
>>>> - Some copyright dates need updating
>>>
>>> Indeed, I’ll update them.
>>>
>>>> - Line 1112 of JavaComponentAccessibility: does the release of
>>>> jaccessible cause a release of jparent?
>>>
>>> As I can see, jparent there is only a ref to jComponent, which in its
>>> turn is a JNIGlobalRef (or anyway is a class field). So, I don’t see
>>> the need to delete it… (or did I miss something?)
>>>
>>>> - Line 7155 of Component.java: is that the only place where this
>>>> means is needed?
>>>
>>> If you mean to call AC.dispose() than - yes, I think so. We rather
>>> don’t want to dispose the context until the Component goes out of the
>>> UI hierarchy, which is when Component.removeNotify() is _always_
>>> getting called (for hw & lw components).
>>>
>>> Anton.
>>>
>>>>
>>>> Pete
>>>>
>>>> On 12/22/15 8:10 AM, Anton Tarasov wrote:
>>>>> Hi guys!
>>>>>
>>>>> Could you please review the problem I’ve filed and the suggested fix?
>>>>>
>>>>> bug: JDK-8145984
>>>>> <https://bugs.openjdk.java.net/browse/JDK-8145984> sun.lwawt.macosx.CAccessible
>>>>> leaks
>>>>> webrev: http://cr.openjdk.java.net/~ant/JDK-8145984/jdk9/webrev.0
>>>>> <http://cr.openjdk.java.net/%7Eant/JDK-8145984/jdk9/webrev.0>
>>>>>
>>>>> (This is to be addressed in 8u/9. The webrev for 8u is in JIRA,
>>>>> it’s identical except the paths.)
>>>>>
>>>>> Please, find the details in JIRA.
>>>>>
>>>>> Thanks!
>>>>> Anton.
>>>>
>>>
>>
>
--
Best regards, Sergey.
More information about the awt-dev
mailing list