Mercurial > dwindows
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 } |