]> Dogcows Code - chaz/openbox/blobdiff - openbox/event.c
add a RECONFIGURING state, and enter that when doing reconfiguring
[chaz/openbox] / openbox / event.c
index a487e1b8fb9bc8ade4f2b5236eb17db4ca79b6c8..a7f65fcb1e15ed192825a4e11dab4de1aca9f5b3 100644 (file)
@@ -652,9 +652,11 @@ 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.\n");
+        ob_set_state(OB_STATE_RECONFIGURING);
         modkeys_shutdown(TRUE);
         modkeys_startup(TRUE);
         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
@@ -1682,7 +1684,8 @@ static gboolean event_handle_menu_keyboard(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;
         }
 
This page took 0.02159 seconds and 4 git commands to generate.