comparison gtk4/dw.c @ 2363:d7688c3ec43f

GTK4: Remove widget from dirty list during expose event.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Fri, 12 Mar 2021 22:03:50 +0000
parents 4367da529f5a
children 77686ad495ba
comparison
equal deleted inserted replaced
2362:4367da529f5a 2363:d7688c3ec43f
876 #endif 876 #endif
877 retval = exposefunc((HWND)widget, &exp, data); 877 retval = exposefunc((HWND)widget, &exp, data);
878 #ifdef DW_USE_CACHED_CR 878 #ifdef DW_USE_CACHED_CR
879 g_object_set_data(G_OBJECT(widget), "_dw_cr", NULL); 879 g_object_set_data(G_OBJECT(widget), "_dw_cr", NULL);
880 #endif 880 #endif
881
882 /* Remove the currently drawn widget from the dirty list */
883 _dw_dirty_list = g_list_remove(_dw_dirty_list, widget);
884
881 /* Copy the cached image to the output surface */ 885 /* Copy the cached image to the output surface */
882 cairo_set_source_surface(cr, g_object_get_data(G_OBJECT(widget), "_dw_cr_surface"), 0, 0); 886 cairo_set_source_surface(cr, g_object_get_data(G_OBJECT(widget), "_dw_cr_surface"), 0, 0);
883 cairo_rectangle(cr, 0, 0, width, height); 887 cairo_rectangle(cr, 0, 0, width, height);
884 cairo_fill(cr); 888 cairo_fill(cr);
885 } 889 }