summaryrefslogtreecommitdiff
path: root/gdk/x11/gdkmain-x11.c
diff options
context:
space:
mode:
authorAlexander Larsson <alexl@redhat.com>2009-01-23 15:23:19 +0100
committerAlexander Larsson <alex@localhost.localdomain>2009-04-02 10:15:26 +0200
commit290de401a5918cf37b37488a9557f6cc260dbd16 (patch)
tree5736bce9cd6186c88878eca28c6e3706c5f92e44 /gdk/x11/gdkmain-x11.c
parente60af9d3157486fd5ca671ae63200de5024b9105 (diff)
downloadgtk+-290de401a5918cf37b37488a9557f6cc260dbd16.tar.gz
Move keyboard grab state tracking code to common code
Diffstat (limited to 'gdk/x11/gdkmain-x11.c')
-rw-r--r--gdk/x11/gdkmain-x11.c79
1 files changed, 6 insertions, 73 deletions
diff --git a/gdk/x11/gdkmain-x11.c b/gdk/x11/gdkmain-x11.c
index e516f86c9c..e17abc52f0 100644
--- a/gdk/x11/gdkmain-x11.c
+++ b/gdk/x11/gdkmain-x11.c
@@ -355,73 +355,14 @@ gdk_keyboard_grab (GdkWindow * window,
return_val = AlreadyGrabbed;
if (return_val == GrabSuccess)
- {
- if (display->keyboard_grab.window != NULL &&
- display->keyboard_grab.window != window)
- generate_grab_broken_event (GDK_WINDOW (display->keyboard_grab.window),
- TRUE, FALSE, window);
-
- display->keyboard_grab.window = window;
- display->keyboard_grab.native_window = native;
- display->keyboard_grab.serial = serial;
- display->keyboard_grab.owner_events = owner_events;
- display->keyboard_grab.time = time;
- }
+ _gdk_display_set_has_keyboard_grab (display,
+ window, native,
+ owner_events,
+ serial, time);
return gdk_x11_convert_grab_status (return_val);
}
-void
-_gdk_windowing_grab_broken (GdkDisplay *display)
-{
- /* TODO: Move to common code */
-#if 0
- GdkDisplayX11 *display_x11;
-
- g_return_if_fail (display != NULL);
-
- display_x11 = GDK_DISPLAY_X11 (display);
- generate_grab_broken_event (GDK_WINDOW (display_x11->pointer_grab.window),
- FALSE,
- display_x11->pointer_grab.implicit,
- NULL);
- display_x11->pointer_grab.window = NULL;
-#endif
-}
-
-/**
- * gdk_keyboard_grab_info_libgtk_only:
- * @display: the display for which to get the grab information
- * @grab_window: location to store current grab window
- * @owner_events: location to store boolean indicating whether
- * the @owner_events flag to gdk_keyboard_grab() was %TRUE.
- *
- * Determines information about the current keyboard grab.
- * This is not public API and must not be used by applications.
- *
- * Return value: %TRUE if this application currently has the
- * keyboard grabbed.
- **/
-gboolean
-gdk_keyboard_grab_info_libgtk_only (GdkDisplay *display,
- GdkWindow **grab_window,
- gboolean *owner_events)
-{
- g_return_val_if_fail (GDK_IS_DISPLAY (display), False);
-
- if (display->keyboard_grab.window)
- {
- if (grab_window)
- *grab_window = display->keyboard_grab.window;
- if (owner_events)
- *owner_events = display->keyboard_grab.owner_events;
-
- return TRUE;
- }
- else
- return FALSE;
-}
-
/**
* _gdk_xgrab_check_unmap:
* @window: a #GdkWindow
@@ -461,11 +402,7 @@ _gdk_xgrab_check_unmap (GdkWindow *window,
tmp = tmp->parent;
if (tmp)
- {
- generate_grab_broken_event (GDK_WINDOW (display->keyboard_grab.window),
- TRUE, FALSE, NULL);
- display->keyboard_grab.window = NULL;
- }
+ _gdk_display_unset_has_keyboard_grab (display, TRUE);
}
}
@@ -488,11 +425,7 @@ _gdk_xgrab_check_destroy (GdkWindow *window)
if (window == display->keyboard_grab.native_window &&
display->keyboard_grab.window != NULL)
- {
- generate_grab_broken_event (GDK_WINDOW (display->keyboard_grab.window),
- TRUE, FALSE, NULL);
- display->keyboard_grab.window = NULL;
- }
+ _gdk_display_unset_has_keyboard_grab (display, TRUE);
}
#define GDK_ANY_BUTTON_MASK (GDK_BUTTON1_MASK | \