<Swing Dev> [9] Review request for 8075084: https://bugs.openjdk.java.net/browse/JDK-8075084

Semyon Sadetsky semyon.sadetsky at oracle.com
Thu Nov 10 08:01:40 UTC 2016


On 11/9/2016 4:30 PM, Alexandr Scherbatiy wrote:

> On 10/25/2016 4:24 PM, Semyon Sadetsky wrote:
>> Hello,
>>
>> Please review fix for JDK9:
>>
>> bug: https://bugs.openjdk.java.net/browse/JDK-8075084
>>
>> webrev: http://cr.openjdk.java.net/~ssadetsky/8075084/webrev.00/
>>
>> When a modal dialog is shown in scroll bar button click listener it 
>> blocks all events targeted to the scroll bar owner window.
>>
>> At the same time clicking on scroll bar button triggers a timer which 
>> should adjust scroll bar value automatically until mouse button is 
>> released, i.e. until mouse release event comes to the pushed scroll 
>> button. So, this timer is not stopped by the mouse release event 
>> because it is rejected by the modal filter.  When modal dialog is 
>> closed the timer continues to produce scroll adjustment events and 
>> the dialog is shown again. Also the scroll button remains pushed and 
>> hovered all the time (because it didn't get mouse release event).
>>
>> In the suggested fix the timer is started only if the scroll bar 
>> owner window keeps input focus after the adjustment callback and the 
>> scroll button is reset otherwise.
>
>   Is it possible that a scroll bar lost the focus not because a new 
> modal dialog opened by some other valid reason and the scroll timer 
> should be started for this case?
It is not possible, because setting another window as focused in KFM is 
executed in the component event handler on EDT, which will only happen 
after returning from the mouse pressed handler or if the secondary event 
loop is started (a modal dialog is shown).

--Semyon
>
>   Thanks,
>   Alexandr.
>
>>
>> --Semyon
>>
>




More information about the swing-dev mailing list