]> Dogcows Code - chaz/openbox/blobdiff - openbox/event.c
its G_BYTE_ORDER not G_ENDIAN.
[chaz/openbox] / openbox / event.c
index ed214af76137f49271275b0192ea4451390624c5..eea6583be8248053b456a2e1f165910ac457be31 100644 (file)
@@ -284,14 +284,13 @@ static gboolean event_ignore(XEvent *e, Client *client)
                   e->xfocus.window, e->xfocus.mode, e->xfocus.detail);
 #endif
 
-        /* Try process a FocusIn first, and if a legit one isn't found, then
-           do the fallback shiznit. */
         {
             XEvent fe;
             gboolean fallback = TRUE;
 
             while (TRUE) {
-                if (!XCheckTypedEvent(ob_display, FocusOut, &fe))
+                if (!XCheckTypedWindowEvent(ob_display, FocusOut,
+                                            e->xfocus.window,&fe))
                     if (!XCheckTypedEvent(ob_display, FocusIn, &fe))
                         break;
                 if (fe.type == FocusOut) {
@@ -408,8 +407,8 @@ static void event_process(XEvent *e)
             e->type == KeyPress || e->type == KeyRelease) {
             moveresize_event(e);
 
-            if (!(e->type == ButtonPress || e->type == ButtonRelease))
-                return; /* no dispatch! */
+            return; /* no dispatch! */
+            
         }
 
     /* user input (action-bound) events */
@@ -499,7 +498,7 @@ static void event_handle_client(Client *client, XEvent *e)
 #endif
         /* focus state can affect the stacking layer */
         client_calc_layer(client);
-        frame_adjust_focus(client->frame);
+        frame_adjust_focus(client->frame, e->type == FocusIn);
        break;
     case EnterNotify:
         if (client_normal(client)) {
This page took 0.026559 seconds and 4 git commands to generate.