Community
Participate
Working Groups
- run the ControlExample, Tree tab - turn on the Expand, Collapse and KeyDown listeners - select Node 1 in the example Tree widget, and press the right arrow -> on motif the events are Expand and then KeyDown -> everywhere else the events are KeyDown and then Expand - same goes for collapsing with the right arrow key
This happens because the Tree on Motif hooks SWT.KeyDown in order to issue SWT.Expand. This means that application code that also hooks SWT.KeyDown will run after the Motif Tree key handler and therefore also after SWT.Expand. Hard to fix.
I notice now that this "wrong" event ordering happens on motif and win32, the "right" ordering happens on gtk, and mac is 50/50 ("right" on keyboard and "wrong" on mouse). In a quick experiment all "wrong" cases were made to match gtk just by having them post their Expands and Collapses (observing the ordering of MouseDown/Up, KeyDown/Up, Expand/Collapse and Selection). SN is there a compelling reason that Expand/Collapse should not be posted?
GG to prioritize.
this is now fixed on motif as a result of the fix for bug 98024.
This event ordering is now consistent on all platforms, closing report.