]> Dogcows Code - chaz/openbox/blobdiff - openbox/event.c
unused variable "icons"
[chaz/openbox] / openbox / event.c
index 401328b22895be3925e786b8fd22e9f09b6531a2..5bb0e2a09f4971d207bbde7e57a130e3a2da17b1 100644 (file)
@@ -372,6 +372,9 @@ static gboolean wanted_focusevent(XEvent *e)
         /* This means focus moved from one client to another */
         if (detail == NotifyNonlinearVirtual)
             return TRUE;
+        /* This means focus had moved to our frame window and now moved off */
+        if (detail == NotifyNonlinear)
+            return TRUE;
 
         /* Otherwise.. */
         return FALSE;
@@ -391,8 +394,6 @@ static gboolean event_ignore(XEvent *e, ObClient *client)
             return TRUE;
         break;
     case FocusOut:
-        if (client == NULL)
-            return TRUE;
         if (!wanted_focusevent(e))
             return TRUE;
         break;
@@ -473,6 +474,7 @@ static void event_process(const XEvent *ec, gpointer data)
             /* nothing is focused */
             focus_set_client(NULL);
         } else if (ce.xany.window == e->xany.window) {
+            ob_debug_type(OB_DEBUG_FOCUS, "Focus didn't go anywhere\n");
             /* If focus didn't actually move anywhere, there is nothing to do*/
             nomove = TRUE;
         } else if (ce.xfocus.detail == NotifyPointerRoot ||
This page took 0.020625 seconds and 4 git commands to generate.