[broadway] Don't have mouse_in_toplevel point to hidden or destroyed window

This commit is contained in:
Alexander Larsson
2010-11-25 20:07:26 +01:00
parent 0b6265b76a
commit c1a35afa5f

View File

@ -266,6 +266,13 @@ gdk_window_impl_broadway_finalize (GObject *object)
wrapper = (GdkWindowObject*) draw_impl->wrapper;
display_broadway = GDK_DISPLAY_BROADWAY (gdk_window_get_display (draw_impl->wrapper));
if (display_broadway->mouse_in_toplevel == GDK_WINDOW (wrapper))
{
/* TODO: Send leave + enter event, update cursors, etc */
display_broadway->mouse_in_toplevel = NULL;
}
g_hash_table_remove (display_broadway->id_ht, GINT_TO_POINTER(window_impl->id));
if (window_impl->cursor)
@ -495,6 +502,12 @@ gdk_window_broadway_hide (GdkWindow *window)
queue_dirty_flush (display_broadway);
}
if (display_broadway->mouse_in_toplevel == window)
{
/* TODO: Send leave + enter event, update cursors, etc */
display_broadway->mouse_in_toplevel = NULL;
}
_gdk_window_clear_update_area (window);
}