remove a function that is no longer used. and backwards boolean algebra was causing...
authorDana Jansens <danakj@orodu.net>
Sat, 19 May 2007 00:38:06 +0000 (00:38 +0000)
committerDana Jansens <danakj@orodu.net>
Sat, 19 May 2007 00:38:06 +0000 (00:38 +0000)
openbox/action.c
openbox/client.c
openbox/client_menu.c
openbox/event.c
openbox/event.h

index 2fd0372..5237936 100644 (file)
@@ -47,7 +47,7 @@ static void client_action_end(union ActionData *data)
     if (config_focus_follow)
         if (data->any.context != OB_FRAME_CONTEXT_CLIENT) {
             if (!data->any.button && data->any.c) {
-                event_ignore_enters_leaving_window(data->any.c);
+                event_ignore_all_queued_enters();
             } else {
                 ObClient *c;
 
index 34af084..0dd1221 100644 (file)
@@ -565,7 +565,7 @@ void client_unmanage(ObClient *self)
 
     /* ignore enter events from the unmap so it doesnt mess with the
        focus */
-    event_ignore_enters_leaving_window(self);
+    event_ignore_all_queued_enters();
 
     mouse_grab_for_client(self, FALSE);
 
index db00265..f538eaf 100644 (file)
@@ -154,8 +154,6 @@ static void client_menu_execute(ObMenuEntry *e, ObMenuFrame *f,
         g_assert_not_reached();
     }
 
-    /* we have to ignore all queued enters because the menu has a grab, and the
-       so the cursor isnt considered inside the client's window */
     event_ignore_all_queued_enters();
 
     /* update the menu cuz stuff can have changed */
@@ -217,8 +215,6 @@ static void layer_menu_execute(ObMenuEntry *e, ObMenuFrame *f,
         g_assert_not_reached();
     }
 
-    /* we have to ignore all queued enters because the menu has a grab, and the
-       so the cursor isnt considered inside the client's window */
     event_ignore_all_queued_enters();
 
     /* update the menu cuz stuff can have changed */
index 0add317..5175cbf 100644 (file)
@@ -884,7 +884,7 @@ static void event_handle_client(ObClient *client, XEvent *e)
                corresponding enter events. Pretend like the animating window
                doesn't even exist..! */
             if (frame_iconify_animating(client->frame))
-                event_ignore_enters_leaving_window(client);
+                event_ignore_all_queued_enters();
 
             ob_debug_type(OB_DEBUG_FOCUS,
                           "%sNotify mode %d detail %d on %lx\n",
@@ -1079,7 +1079,7 @@ static void event_handle_client(ObClient *client, XEvent *e)
             client_configure(client, x, y, w, h, FALSE, TRUE);
 
             /* ignore enter events caused by these like ob actions do */
-            event_ignore_enters_leaving_window(client);
+            event_ignore_all_queued_enters();
         }
         break;
     }
@@ -1175,7 +1175,7 @@ static void event_handle_client(ObClient *client, XEvent *e)
                              e->xclient.data.l[1], e->xclient.data.l[2]);
 
             /* ignore enter events caused by these like ob actions do */
-            event_ignore_enters_leaving_window(client);
+            event_ignore_all_queued_enters();
         } else if (msgtype == prop_atoms.net_close_window) {
             ob_debug("net_close_window for 0x%lx\n", client->window);
             client_close(client);
@@ -1263,7 +1263,7 @@ static void event_handle_client(ObClient *client, XEvent *e)
             client_configure(client, x, y, w, h, FALSE, TRUE);
 
             /* ignore enter events caused by these like ob actions do */
-            event_ignore_enters_leaving_window(client);
+            event_ignore_all_queued_enters();
         } else if (msgtype == prop_atoms.net_restack_window) {
             if (e->xclient.data.l[0] != 2) {
                 ob_debug_type(OB_DEBUG_APP_BUGS,
@@ -1716,10 +1716,9 @@ static Bool event_look_for_enters(Display *d, XEvent *e, XPointer arg)
 {
     if (e->type == EnterNotify &&
         /* these types aren't used for focusing */
-        (e->xcrossing.mode == NotifyGrab ||
-         e->xcrossing.mode == NotifyUngrab ||
-         /*ignore enters when we're already in the window */
-         e->xcrossing.detail == NotifyInferior))
+        !(e->xcrossing.mode == NotifyGrab ||
+          e->xcrossing.mode == NotifyUngrab ||
+          e->xcrossing.detail == NotifyInferior))
     {
         ObWindow *win;
 
@@ -1734,18 +1733,10 @@ static Bool event_look_for_enters(Display *d, XEvent *e, XPointer arg)
 
 void event_ignore_all_queued_enters()
 {
-    event_ignore_enters_leaving_window(NULL);
-}
-
-void event_ignore_enters_leaving_window(ObClient *c)
-{
     XEvent e;
 
     XSync(ob_display, FALSE);
 
-    ob_debug_type(OB_DEBUG_FOCUS, "want to ignore enters leaving window "
-                  "%s\n", c?c->title:"(all)");
-
     /* count the events without disrupting them */
     ignore_enter_focus = 0;
     XCheckIfEvent(ob_display, &e, event_look_for_enters, NULL);
@@ -1753,7 +1744,10 @@ void event_ignore_enters_leaving_window(ObClient *c)
 
 static gboolean is_enter_focus_event_ignored(XEvent *e)
 {
-    g_assert(e->type == EnterNotify);
+    g_assert(e->type == EnterNotify &&
+             !(e->xcrossing.mode == NotifyGrab ||
+               e->xcrossing.mode == NotifyUngrab ||
+               e->xcrossing.detail == NotifyInferior));
 
     ob_debug_type(OB_DEBUG_FOCUS, "# enters ignored: %d\n",
                   ignore_enter_focus);
index f794039..542115f 100644 (file)
@@ -39,10 +39,6 @@ void event_shutdown(gboolean reconfig);
   follows mouse */
 void event_enter_client(struct _ObClient *client);
 
-/*! Make mouse focus not move if the mouse leaves this client from what
-  has just transpired. */
-void event_ignore_enters_leaving_window(struct _ObClient *c);
-
 /*! Make mouse focus not move at all from the stuff that has happened up
   till now. */
 void event_ignore_all_queued_enters();