Commit abe7187c authored by Matthias Clasen's avatar Matthias Clasen

Add another multi-device invariant

The device and window passed to gdk_device_grab() must be
on the same display, or things are unlikely to work.
Document and assert this.
parent 86f66d26
......@@ -1260,6 +1260,8 @@ get_native_grab_event_mask (GdkEventMask grab_mask)
* or the window becomes unviewable. This overrides any previous grab on the device
* by this client.
*
* Note that @device and @window need to be on the same display.
*
* Device grabs are used for operations which need complete control over the
* given device events (either pointer or keyboard). For example in GTK+ this
* is used for Drag and Drop operations, popup menus and such.
......@@ -1293,6 +1295,7 @@ gdk_device_grab (GdkDevice *device,
g_return_val_if_fail (GDK_IS_DEVICE (device), GDK_GRAB_FAILED);
g_return_val_if_fail (GDK_IS_WINDOW (window), GDK_GRAB_FAILED);
g_return_val_if_fail (gdk_window_get_display (window) == gdk_device_get_display (device), GDK_GRAB_FAILED);
native = gdk_window_get_toplevel (window);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment