Blob Blame History Raw
diff -Nur xfwm4-4.2.1.orig/src/client.c xfwm4-4.2.1/src/client.c
--- xfwm4-4.2.1.orig/src/client.c	2005-03-14 13:11:55.000000000 -0700
+++ xfwm4-4.2.1/src/client.c	2005-03-27 21:10:57.241200236 -0700
@@ -1,4 +1,4 @@
-/*      $Id: client.c,v 1.461.2.11 2005/03/14 19:48:50 olivier Exp $
+/*      $Id: client.c,v 1.461.2.12 2005/03/16 20:38:45 olivier Exp $
  
         This program is free software; you can redistribute it and/or modify
         it under the terms of the GNU General Public License as published by
@@ -3130,18 +3130,14 @@
     g1 = myScreenGrabKeyboard (screen_info, myDisplayGetCurrentTime (display_info));
     g2 = myScreenGrabPointer (screen_info, ButtonMotionMask | ButtonReleaseMask, 
                               cursor, myDisplayGetCurrentTime (display_info));
-    if (((passdata.use_keys) && !g1) || !g2)
+    if (!g1 || !g2)
     {
         TRACE ("grab failed in clientMove");
+
         gdk_beep ();
-        if ((passdata.use_keys) && g1)
-        {
-            myScreenUngrabKeyboard (screen_info, myDisplayGetCurrentTime (display_info));
-        }
-        if (g2)
-        {
-            myScreenUngrabPointer (screen_info, myDisplayGetCurrentTime (display_info));
-        }
+        myScreenUngrabKeyboard (screen_info, myDisplayGetCurrentTime (display_info));
+        myScreenUngrabPointer (screen_info, myDisplayGetCurrentTime (display_info));
+
         return;
     }
 
@@ -3592,18 +3588,14 @@
                               myDisplayGetCursorResize(display_info, passdata.corner), 
                               myDisplayGetCurrentTime (display_info));
 
-    if (((passdata.use_keys) && !g1) || !g2)
+    if (!g1 || !g2)
     {
         TRACE ("grab failed in clientResize");
+
         gdk_beep ();
-        if ((passdata.use_keys) && (g1 == GrabSuccess))
-        {
-            myScreenUngrabKeyboard (screen_info, myDisplayGetCurrentTime (display_info));
-        }
-        if (g2 == GrabSuccess)
-        {
-            myScreenUngrabPointer (screen_info, myDisplayGetCurrentTime (display_info));
-        }
+        myScreenUngrabKeyboard (screen_info, myDisplayGetCurrentTime (display_info));
+        myScreenUngrabPointer (screen_info, myDisplayGetCurrentTime (display_info));
+
         return;
     }
 
@@ -3799,15 +3791,11 @@
     if (!g1 || !g2)
     {
         TRACE ("grab failed in clientCycle");
+
         gdk_beep ();
-        if (g1 == GrabSuccess)
-        {
-            myScreenUngrabKeyboard (screen_info, myDisplayGetCurrentTime (display_info));
-        }
-        if (g2 == GrabSuccess)
-        {
-            myScreenUngrabPointer (screen_info, myDisplayGetCurrentTime (display_info));
-        }
+        myScreenUngrabKeyboard (screen_info, myDisplayGetCurrentTime (display_info));
+        myScreenUngrabPointer (screen_info, myDisplayGetCurrentTime (display_info));
+
         return;
     }
 
diff -Nur xfwm4-4.2.1.orig/src/events.c xfwm4-4.2.1/src/events.c
--- xfwm4-4.2.1.orig/src/events.c	2005-02-12 14:29:37.000000000 -0700
+++ xfwm4-4.2.1/src/events.c	2005-03-27 21:10:57.244199772 -0700
@@ -1,4 +1,4 @@
-/*      $Id: events.c,v 1.297.2.2 2005/02/12 21:29:37 olivier Exp $
+/*      $Id: events.c,v 1.297.2.3 2005/03/22 22:37:42 olivier Exp $
  
         This program is free software; you can redistribute it and/or modify
         it under the terms of the GNU General Public License as published by
@@ -205,6 +205,7 @@
     {
         TRACE ("grab failed in typeOfClick");
         gdk_beep ();
+        myScreenUngrabPointer (screen_info, ev->xbutton.time);
         return XFWM_BUTTON_UNDEFINED;
     }
 
diff -Nur xfwm4-4.2.1.orig/src/stacking.c xfwm4-4.2.1/src/stacking.c
--- xfwm4-4.2.1.orig/src/stacking.c	2005-02-08 15:16:11.000000000 -0700
+++ xfwm4-4.2.1/src/stacking.c	2005-03-27 21:10:57.245199617 -0700
@@ -1,4 +1,4 @@
-/*      $Id: stacking.c,v 1.26.2.2 2005/02/08 22:16:11 olivier Exp $
+/*      $Id: stacking.c,v 1.26.2.3 2005/03/27 19:32:37 olivier Exp $
  
         This program is free software; you can redistribute it and/or modify
         it under the terms of the GNU General Public License as published by
@@ -240,7 +240,7 @@
     Client *c = NULL;
     Client *c2 = NULL;
 
-    TRACE ("entering clientAtPos");
+    TRACE ("entering clientAtPosition");
 
     for (index = g_list_last (screen_info->windows_stack); index; index = g_list_previous (index))
     {
@@ -252,8 +252,8 @@
                 && (c2 != exclude))
             {
                 c = c2;
+        	break;
             }
-            break;
         }
     }