diff options
author | Silenio Quarti <silenio_quarti@ca.ibm.com> | 2012-08-23 16:45:01 -0400 |
---|---|---|
committer | Silenio Quarti <silenio_quarti@ca.ibm.com> | 2012-08-23 16:45:01 -0400 |
commit | ba0496f9a8a66760fc94c587abb32b76fa4bc8d3 (patch) | |
tree | 97847df6f65352472cd276846a0d8aeeb2230b78 | |
parent | 994916062ac21984d9d9928e629166d25c9002ba (diff) | |
download | eclipse.platform.swt-ba0496f9a8a66760fc94c587abb32b76fa4bc8d3.tar.gz eclipse.platform.swt-ba0496f9a8a66760fc94c587abb32b76fa4bc8d3.tar.xz eclipse.platform.swt-ba0496f9a8a66760fc94c587abb32b76fa4bc8d3.zip |
Bug 387496 - JVM crashes when running jdtuirefactoring tests on hudson: im-xim.so+0x3b04 (REVERT SUSPICIOUS CHANGE TO RUN JUNIT IN NIGHTLY)
-rw-r--r-- | bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java index ec35babb3f..fb6ac2cc49 100644 --- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java +++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java @@ -3100,19 +3100,18 @@ int /*long*/ gtk_focus_out_event (int /*long*/ widget, int /*long*/ event) { } int /*long*/ gtk_key_press_event (int /*long*/ widget, int /*long*/ event) { + if (!hasFocus ()) return 0; GdkEventKey gdkEvent = new GdkEventKey (); OS.memmove (gdkEvent, event, GdkEventKey.sizeof); - - if (filterKey (gdkEvent.keyval, event)) return 1; - // widget could be disposed at this point - if (isDisposed ()) return 0; - - if (!hasFocus ()) return 0; if (translateMnemonic (gdkEvent.keyval, gdkEvent)) return 1; // widget could be disposed at this point if (isDisposed ()) return 0; + if (filterKey (gdkEvent.keyval, event)) return 1; + // widget could be disposed at this point + if (isDisposed ()) return 0; + if (translateTraversal (gdkEvent)) return 1; // widget could be disposed at this point if (isDisposed ()) return 0; |