Hi Krishna, On Wed, Oct 17, 2018 at 3:51 PM, Krishna Addepalli < krishna.addepa...@oracle.com> wrote: > > 1. This problem (including the one described in JDK-8152974) is not > reproducible at all in Mac. I would like to understand why this happens > only on Windows/Linux because the proposed fix is in generic code. > Have you tried Laurent's test case on Mac? (the version previous to my refactorings, so we eliminate the OS layer). This bug should manifest there too. Unfortunately, I don't have such environment to test and debug.
> 2. I’m not sure if I agree to your proposal of dispatching > non-SequencedEvents, from the queue. The events arriving after a particular > SequencedEvent could be dependent on this event – for example, the current > SequencedEvent could be a focus change event, and the subsequent events > could be Key events. So, as per your solution, if we dispatch them, there > is a possibility that the intended component may not receive those events. > My understanding is that if you want hard-dependency enforcements, you have to wrap events under SequencedEvent events. All other asynchronous events have absolutely no guarantees. Blocking the EDT should not be done and that's the reason why we dispatch non-SequencedEvent events in the meanwhile. Please note that the only events that are put on hold and re-posted lated are SequencedEvent events that, if dispatched, would violate the sequence rule. Kind regards, Martin.-