Mercurial > dwindows
comparison gtk4/dw.c @ 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 | 7b04d1b9f2eb |
comparison
equal
deleted
inserted
replaced
2340:d797d1cec06b | 2341:1a630cddf384 |
---|---|
6355 void API dw_taskbar_delete(HWND handle, HICN icon) | 6355 void API dw_taskbar_delete(HWND handle, HICN icon) |
6356 { | 6356 { |
6357 /* TODO: Removed in GTK4.... no replacement? */ | 6357 /* TODO: Removed in GTK4.... no replacement? */ |
6358 } | 6358 } |
6359 | 6359 |
6360 /* Make sure the widget is out of the dirty list if it is destroyed */ | |
6361 static void _dw_render_destroy(GtkWidget *widget, gpointer data) | |
6362 { | |
6363 _dw_dirty_list = g_list_remove(_dw_dirty_list, widget); | |
6364 } | |
6365 | |
6360 /* | 6366 /* |
6361 * Creates a rendering context widget (window) to be packed. | 6367 * Creates a rendering context widget (window) to be packed. |
6362 * Parameters: | 6368 * Parameters: |
6363 * id: An id to be used with dw_window_from_id. | 6369 * id: An id to be used with dw_window_from_id. |
6364 * Returns: | 6370 * Returns: |
6369 DW_FUNCTION_RETURN(dw_render_new, HWND) | 6375 DW_FUNCTION_RETURN(dw_render_new, HWND) |
6370 DW_FUNCTION_RESTORE_PARAM1(cid, ULONG) | 6376 DW_FUNCTION_RESTORE_PARAM1(cid, ULONG) |
6371 { | 6377 { |
6372 GtkWidget *tmp = gtk_drawing_area_new(); | 6378 GtkWidget *tmp = gtk_drawing_area_new(); |
6373 g_object_set_data(G_OBJECT(tmp), "_dw_id", GINT_TO_POINTER(cid)); | 6379 g_object_set_data(G_OBJECT(tmp), "_dw_id", GINT_TO_POINTER(cid)); |
6380 g_signal_connect(G_OBJECT(tmp), "destroy", G_CALLBACK(_dw_render_destroy), NULL); | |
6374 gtk_widget_set_can_focus(tmp, TRUE); | 6381 gtk_widget_set_can_focus(tmp, TRUE); |
6375 gtk_widget_show(tmp); | 6382 gtk_widget_show(tmp); |
6376 if(_DWDefaultFont) | 6383 if(_DWDefaultFont) |
6377 dw_window_set_font(tmp, _DWDefaultFont); | 6384 dw_window_set_font(tmp, _DWDefaultFont); |
6378 DW_FUNCTION_RETURN_THIS(tmp); | 6385 DW_FUNCTION_RETURN_THIS(tmp); |