Mercurial > dwindows
changeset 2341:1a630cddf384
GTK4: Remove render widgets from the dirty list when they are destroyed.
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Wed, 03 Mar 2021 07:38:48 +0000 |
parents | d797d1cec06b |
children | 5437aed23151 |
files | gtk4/dw.c |
diffstat | 1 files changed, 7 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/gtk4/dw.c Wed Mar 03 03:59:20 2021 +0000 +++ b/gtk4/dw.c Wed Mar 03 07:38:48 2021 +0000 @@ -6357,6 +6357,12 @@ /* TODO: Removed in GTK4.... no replacement? */ } +/* Make sure the widget is out of the dirty list if it is destroyed */ +static void _dw_render_destroy(GtkWidget *widget, gpointer data) +{ + _dw_dirty_list = g_list_remove(_dw_dirty_list, widget); +} + /* * Creates a rendering context widget (window) to be packed. * Parameters: @@ -6371,6 +6377,7 @@ { GtkWidget *tmp = gtk_drawing_area_new(); g_object_set_data(G_OBJECT(tmp), "_dw_id", GINT_TO_POINTER(cid)); + g_signal_connect(G_OBJECT(tmp), "destroy", G_CALLBACK(_dw_render_destroy), NULL); gtk_widget_set_can_focus(tmp, TRUE); gtk_widget_show(tmp); if(_DWDefaultFont)