From 775e69f0ceacc29119a99a55a08648607c8bbff3 Mon Sep 17 00:00:00 2001 From: Silenio Quarti Date: Mon, 27 Aug 2012 16:14:01 -0400 Subject: Bug 387496 -JVM crashes when running jdtuirefactoring tests on hudson: im-xim.so+0x3b04 (PUT BACK CHANGES IN CONTROL) --- .../Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java | 11 ++++++----- 1 file changed, 6 insertions(+), 5 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 c3b5d036a1..10b866506b 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 @@ -3033,18 +3033,19 @@ 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; -- cgit