summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarlos Garnacho <carlosg@gnome.org>2010-06-04 16:17:41 +0200
committerCarlos Garnacho <carlosg@gnome.org>2010-06-15 21:06:10 +0200
commit07b1a2e081d76fea9cb81d086b73c2049c892156 (patch)
tree3461d83d16adbc97a2a622a2f4cb6a2b1d6d0ec3
parent1b2e9124f0bd7fde11e2b6faad6e75c38da1abe1 (diff)
downloadgdk-pixbuf-07b1a2e081d76fea9cb81d086b73c2049c892156.tar.gz
GdkDeviceManagerCore: protect against xevent->xany.window not being a GdkWindow.
Conceivably this GdkEventTranslator may still be asked for events such as NoExpose or GraphicsExpose for pixmaps. It is not meant to translate such events, but should at least behave with them.
-rw-r--r--gdk/x11/gdkdevicemanager-core.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/gdk/x11/gdkdevicemanager-core.c b/gdk/x11/gdkdevicemanager-core.c
index 0e7b8c33d..7d2e9e44b 100644
--- a/gdk/x11/gdkdevicemanager-core.c
+++ b/gdk/x11/gdkdevicemanager-core.c
@@ -425,11 +425,11 @@ gdk_device_manager_core_translate_event (GdkEventTranslator *translator,
window = get_event_window (translator, xevent);
window_private = (GdkWindowObject *) window;
- if (window && GDK_WINDOW_DESTROYED (window))
- return FALSE;
-
if (window)
{
+ if (GDK_WINDOW_DESTROYED (window) || !GDK_IS_WINDOW (window))
+ return FALSE;
+
toplevel = _gdk_x11_window_get_toplevel (window);
window_impl = GDK_WINDOW_IMPL_X11 (window_private->impl);
g_object_ref (window);