diff options
author | Olivier Fourdan <fourdan@xfce.org> | 2015-01-17 21:39:21 +0100 |
---|---|---|
committer | Olivier Fourdan <fourdan@xfce.org> | 2015-01-17 21:42:07 +0100 |
commit | 830edad5808d5ea0ab642e0e771d3c9ed806246b (patch) | |
tree | 8439b89845300af4fba3d20025c25f6cfc35d623 | |
parent | 50ed2fab6e8fa22284d09b84e954742b441c70e1 (diff) | |
download | xfwm4-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.c | 6 | ||||
-rw-r--r-- | src/screen.c | 4 |
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; |