Merge branch 'backport' into work
[mikachu/openbox.git] / openbox / event.c
index 2563be2..a0ce223 100644 (file)
@@ -33,6 +33,7 @@
 #include "menuframe.h"
 #include "keyboard.h"
 #include "mouse.h"
+#include "hooks.h"
 #include "focus.h"
 #include "focus_cycle.h"
 #include "moveresize.h"
@@ -656,8 +657,10 @@ static void event_process(const XEvent *ec, gpointer data)
         /* keyboard layout changes for modifier mapping changes. reload the
            modifier map, and rebind all the key bindings as appropriate */
         ob_debug("Kepboard map changed. Reloading keyboard bindings.");
+        ob_set_state(OB_STATE_RECONFIGURING);
         obt_keyboard_reload();
         keyboard_rebind();
+        ob_set_state(OB_STATE_RUNNING);
     }
     else if (e->type == ClientMessage) {
         /* This is for _NET_WM_REQUEST_FRAME_EXTENTS messages. They come for
@@ -1726,7 +1729,8 @@ static gboolean event_handle_menu_input(XEvent *ev)
 
             else if (keycode == ob_keycode(OB_KEY_LEFT)) {
                 /* Left goes to the parent menu */
-                menu_frame_select(frame, NULL, TRUE);
+                if (frame->parent)
+                    menu_frame_select(frame, NULL, TRUE);
                 ret = TRUE;
             }