forked from AuroraMiddleware/gtk
Free the translate queue when closing a display
Not that many people are ever going to hit this. https://bugzilla.gnome.org/show_bug.cgi?id=645236
This commit is contained in:
parent
9e6d3d969c
commit
fbf1093d5c
@ -1729,6 +1729,9 @@ gdk_x11_display_finalize (GObject *object)
|
||||
|
||||
_gdk_x11_cursor_display_finalize (GDK_DISPLAY (display_x11));
|
||||
|
||||
/* Empty the event queue */
|
||||
_gdk_x11_display_free_translate_queue (GDK_DISPLAY (display_x11));
|
||||
|
||||
/* Atom Hashtable */
|
||||
g_hash_table_destroy (display_x11->atom_from_virtual);
|
||||
g_hash_table_destroy (display_x11->atom_to_virtual);
|
||||
|
@ -153,6 +153,19 @@ queue_item_free (GdkWindowQueueItem *item)
|
||||
g_free (item);
|
||||
}
|
||||
|
||||
void
|
||||
_gdk_x11_display_free_translate_queue (GdkDisplay *display)
|
||||
{
|
||||
GdkX11Display *display_x11 = GDK_X11_DISPLAY (display);
|
||||
|
||||
if (display_x11->translate_queue)
|
||||
{
|
||||
g_queue_foreach (display_x11->translate_queue, (GFunc)queue_item_free, NULL);
|
||||
g_queue_free (display_x11->translate_queue);
|
||||
display_x11->translate_queue = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
gdk_window_queue (GdkWindow *window,
|
||||
GdkWindowQueueItem *item)
|
||||
|
@ -138,6 +138,8 @@ void _gdk_x11_window_translate (GdkWindow *window,
|
||||
gint dx,
|
||||
gint dy);
|
||||
|
||||
void _gdk_x11_display_free_translate_queue (GdkDisplay *display);
|
||||
|
||||
void _gdk_x11_selection_window_destroyed (GdkWindow *window);
|
||||
gboolean _gdk_x11_selection_filter_clear_event (XSelectionClearEvent *event);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user