git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37222 
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
     bool ret = false;
     bool return_after_IM = false;
 
-    if( wxTranslateGTKKeyEventToWx(event, win, gdk_event) == false )
+    if( wxTranslateGTKKeyEventToWx(event, win, gdk_event) )
+    {
+        // Emit KEY_DOWN event
+        ret = win->GetEventHandler()->ProcessEvent( event );
+    }
+    else
     {
         // Return after IM processing as we cannot do
         // anything with it anyhow.
     if (return_after_IM)
         return false;
 
-    // Emit KEY_DOWN event
-    ret = win->GetEventHandler()->ProcessEvent( event );
-
 #if wxUSE_ACCEL
     if (!ret)
     {
 
     bool return_after_IM = false;
 
     if( wxTranslateGTKKeyEventToWx(event, win, gdk_event) == false )
+    {
+        // Emit KEY_DOWN event
+        ret = win->GetEventHandler()->ProcessEvent( event );
+    }
+    else
     {
         // Return after IM processing as we cannot do
         // anything with it anyhow.
         return_after_IM = true;
     }
 
-    if (return_after_IM)
-        return false;
-
-    // Emit KEY_DOWN event
-    ret = win->GetEventHandler()->ProcessEvent( event );
-
     // This is for GTK+ 1.2 only. The char event generatation for GTK+ 2.0 is done
     // in the "commit" handler.
 
         return true;
     }
 
+    if (return_after_IM)
+        return false;
+
 #if wxUSE_ACCEL
     if (!ret)
     {