]> Dogcows Code - chaz/openbox/blobdiff - openbox/event.c
make ob_exit() take an error code. don't exit with 0 for signals other than TERM...
[chaz/openbox] / openbox / event.c
index f6d6f3b6f7a83eb3bd6cb595404e558604e98004..d1c27fd750c24d9e5002a2a520ca177e60cd1308 100644 (file)
@@ -385,7 +385,9 @@ static gboolean event_ignore(XEvent *e, ObClient *client)
                            use it */
                         event_process(&fe, &d);
                         if (!d.ignored) {
+#ifdef DEBUG_FOCUS
                             ob_debug("FocusIn was OK, so don't fallback\n");
+#endif
                             fallback = FALSE;
                             break;
                         }
@@ -552,7 +554,7 @@ static void event_handle_root(XEvent *e)
     switch(e->type) {
     case SelectionClear:
         ob_debug("Another WM has requested to replace us. Exiting.\n");
-        ob_exit();
+        ob_exit(0);
         break;
 
     case ClientMessage:
@@ -1181,6 +1183,16 @@ static void event_handle_menu(XEvent *ev)
                                             ev->xmotion.y_root)))
                 menu_frame_select(f, e);
         }
+        {
+            ObMenuFrame *a;
+
+            a = find_active_menu();
+            if (a && a != f &&
+                a->selected->entry->type != OB_MENU_ENTRY_TYPE_SUBMENU)
+            {
+                menu_frame_select(a, NULL);
+            }
+        }
         break;
     case KeyPress:
         if (ev->xkey.keycode == ob_keycode(OB_KEY_ESCAPE))
This page took 0.024382 seconds and 4 git commands to generate.