don't force fake enter events while there is a grab on the pointer. this fixes focus...
authorDana Jansens <danakj@orodu.net>
Wed, 13 Feb 2008 15:19:52 +0000 (10:19 -0500)
committerMikael Magnusson <mikachu@comhem.se>
Thu, 14 Feb 2008 18:40:03 +0000 (19:40 +0100)
openbox/actions.c

index 90a7719..32b3d27 100644 (file)
@@ -347,8 +347,14 @@ void actions_client_move(ObActionsData *data, gboolean start)
                that moves windows our from under the cursor, the enter
                event will come as a GrabNotify which is ignored, so this
                makes a fake enter event
                that moves windows our from under the cursor, the enter
                event will come as a GrabNotify which is ignored, so this
                makes a fake enter event
+
+               don't do this if there is a grab on the pointer.  enter events
+               are ignored during a grab, so don't force fake ones when they
+               should be ignored
             */
             */
-            if ((c = client_under_pointer()) && c != data->client) {
+            if ((c = client_under_pointer()) && c != data->client &&
+                !grab_on_pointer())
+            {
                 ob_debug_type(OB_DEBUG_FOCUS,
                               "Generating fake enter because we did a "
                               "mouse-event action");
                 ob_debug_type(OB_DEBUG_FOCUS,
                               "Generating fake enter because we did a "
                               "mouse-event action");