summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOlivier Fourdan <fourdan@xfce.org>2015-01-17 21:39:21 +0100
committerOlivier Fourdan <fourdan@xfce.org>2015-01-17 21:42:07 +0100
commit830edad5808d5ea0ab642e0e771d3c9ed806246b (patch)
tree8439b89845300af4fba3d20025c25f6cfc35d623
parent50ed2fab6e8fa22284d09b84e954742b441c70e1 (diff)
downloadxfwm4-830edad5808d5ea0ab642e0e771d3c9ed806246b.tar.gz
Ungrab even if grab failed
Fix issue introduced by previous commit, ungrab even if grab failed because of the internal grab counter. Signed-off-by: Olivier Fourdan <fourdan@xfce.org>
-rw-r--r--src/cycle.c6
-rw-r--r--src/screen.c4
2 files changed, 3 insertions, 7 deletions
diff --git a/src/cycle.c b/src/cycle.c
index 1df14df14..8fba978bb 100644
--- a/src/cycle.c
+++ b/src/cycle.c
@@ -547,11 +547,7 @@ clientCycle (Client * c, XKeyEvent * ev)
}
myScreenUngrabKeyboard (screen_info, myDisplayGetCurrentTime (display_info));
- if (g2)
- {
- /* If we succeeded in grabbing the pointer, release it */
- myScreenUngrabPointer (screen_info, myDisplayGetCurrentTime (display_info));
- }
+ myScreenUngrabPointer (screen_info, myDisplayGetCurrentTime (display_info));
}
gboolean
diff --git a/src/screen.c b/src/screen.c
index b57f52328..095b371c0 100644
--- a/src/screen.c
+++ b/src/screen.c
@@ -504,7 +504,7 @@ myScreenUngrabKeyboard (ScreenInfo *screen_info, guint32 timestamp)
g_return_val_if_fail (screen_info, 0);
TRACE ("entering myScreenUngrabKeyboard");
- screen_info->key_grabs = screen_info->key_grabs - 1;
+ screen_info->key_grabs--;
if (screen_info->key_grabs < 0)
{
screen_info->key_grabs = 0;
@@ -524,7 +524,7 @@ myScreenUngrabPointer (ScreenInfo *screen_info, guint32 timestamp)
g_return_val_if_fail (screen_info, 0);
TRACE ("entering myScreenUngrabPointer");
- screen_info->pointer_grabs = screen_info->pointer_grabs - 1;
+ screen_info->pointer_grabs--;
if (screen_info->pointer_grabs < 0)
{
screen_info->pointer_grabs = 0;