<AWT Dev> Problem with modal Dialog

Roman Kennke roman.kennke at aicas.com
Mon Feb 16 05:48:53 PST 2009


Hi Artem,

>>>>> Hrmpf. Seems I cannot. The disclaimer says 'During the initial rollout
>>>>> phase, this site will only be accepting and tracking patch 
>>>>> contributions
>>>>> from developers without push access to the OpenJDK 6 and 7 
>>>>> forests.' and
>>>>>  since I _have_ push access, I can't file bug reports. Too bad.
>>>>>
>>>>> BTW, simply sending this over the EQ is no solution either, because 
>>>>> then
>>>>> later it will fail to invokeAndWait(). I will think a little more 
>>>>> about
>>>>> this, or maybe anybody has a quick idea?
>>>>
>>>> Just an idea (have not evaluated it carefully):
>>>> perhaps we should set keepBlockingEDT to false not in 
>>>> hideAndDisposeHandler(),
>>>> but in WakingRunnable.run() instead.
>>>
>>> I'm looking at this problem at the moment. The problem is the 
>>> instance of WakingRunnable is not run on EDT at all - I don't know why.
>>
>> I know why. It is because the DisposeAction is run _immediately_, 
>> before the WakingRunnable had a chance. This DisposeAction calls 
>> removeNotify(), which leads to all events on the EQ that are related 
>> to the Dialog beeing discarded.
> 
> Could you, please, point to the place where all the events are 
> discarded? I don't see any.

In Component.removeNotify(), we call this:

Toolkit.getEventQueue().removeSourceEvents(this, false);

which removes all events related to the component. removeNotify() is 
called from inside the DisposeAction.

/Roman

-- 
Dipl.-Inform. (FH) Roman Kennke, Software Engineer, http://kennke.org
aicas Allerton Interworks Computer Automated Systems GmbH
Haid-und-Neu-Straße 18 * D-76131 Karlsruhe * Germany
http://www.aicas.com   * Tel: +49-721-663 968-48
USt-Id: DE216375633, Handelsregister HRB 109481, AG Karlsruhe
Geschäftsführer: Dr. James J. Hunt



More information about the awt-dev mailing list