diff --git a/gdk/gdkwindow.c b/gdk/gdkwindow.c index 6d2bd68f61..b16f2836de 100644 --- a/gdk/gdkwindow.c +++ b/gdk/gdkwindow.c @@ -7570,8 +7570,9 @@ _gdk_synthesize_crossing_events (GdkDisplay *display, /* TODO: Don't send events to toplevel, as we get those from the windowing system */ - a = src; - b = dest; + a = (src && GDK_IS_WINDOW (src)) ? src : NULL; + b = (dest && GDK_IS_WINDOW (dest)) ? dest : NULL; + if (src == dest) return; /* No crossings generated between src and dest */