<AWT Dev> [10] RFR JDK-8088132:[Swing, singleThread] ClassCastException in nested event loop when showing multiple message dialogs in SwingNode

Prasanta Sadhukhan prasanta.sadhukhan at oracle.com
Wed Aug 16 10:33:29 UTC 2017


Hi Sergey,

AFAIK, FX singleThread feature is supported but experimental feature.
I have modified webrev to include DefaultKeyboardFocusManager too
http://cr.openjdk.java.net/~psadhukhan/fx/8088132/webrev.01/

I do not think there is any problem in skipping code which works with 
EDT as for example, in SequencedEvent#dispatch() it says

Dispatches the nested event after all previous nested events have 
beendispatched or disposed

Now, since here FX App thread itself is the dispatch thread, we can be 
sure the events are dispatched in sequence and dispose is checked below 
after EDT.

I have tested with couple of singleThread testcase without any issue.

Regards
Prasanta
On 8/14/2017 10:07 PM, Sergey Bylokhov wrote:
> Hi, Prasanta, Kevin.
>
> I have two notes.
>   - Does this option is really supported? If it is supported we should evaluate all usage of EventDispatchThread because in this mode the dispatch thread is not EDT. For example I am not sure that we can skip the code which expects EventDispatchThread.
>   - We have the similar pattern: "EventQueue.isDispatchThread() -> cast(EventDispatchThread)" in some other places like in DefaultKeyboardFocusManager.
>
> ----- prasanta.sadhukhan at oracle.com wrote:
>
>> Hi All,
>>
>> Please review this fix
>> http://cr.openjdk.java.net/~psadhukhan/fx/8088132/webrev.00/
>> for an fx issue
>> https://bugs.openjdk.java.net/browse/JDK-8088132
>>
>> More info in JBS.
>>
>> Regards
>> Prasanta



More information about the openjfx-dev mailing list