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; } }