From bug 394462 comment 1:
=> Analysis of the events:
When I double-click a file in the Package Explorer, then Tree.gtk_row_activated(int, int, int) line: 2008 posts a DefaultSelection event.
This is handled by org.eclipse.jface.util.OpenStrategy, which opens the editor and sets focus to the StyledText.
But in the end, Control.gtk_button_press_event(int, int, boolean) line 2936 activates the Tree widget again:
if (!shell.isDisposed ()) shell.setActiveControl (this);
This line is wrong. If the control really needs to be activated again on double-click, then this needs to happen before any listeners are notified.
From bug 394462 comment 1:
=> Analysis of the events:
When I double-click a file in the Package Explorer, then Tree.gtk_ row_activated( int, int, int) line: 2008 posts a DefaultSelection event.
This is handled by org.eclipse. jface.util. OpenStrategy, which opens the editor and sets focus to the StyledText.
But in the end, Control. gtk_button_ press_event( int, int, boolean) line 2936 activates the Tree widget again:
if (!shell.isDisposed ()) shell.setActive Control (this);
This line is wrong. If the control really needs to be activated again on double-click, then this needs to happen before any listeners are notified.