forked from AuroraMiddleware/gtk
snapshot: Fix assert in inhibition
In https://gitlab.gnome.org/GNOME/gtk/-/merge_requests/2027 i was getting Bail out! ERROR:../testsuite/reftests/reftest-snapshot.c:212:reftest_uninhibit_snapshot: assertion failed: (inhibit_count > 0) In (for example the box-shadow-changes-modify-clip reftest. I can reproduce this (on master) with: ``` $ xvfb-run -a -s "-screen 0 1024x768x24" meson test --suite gtk:reftest "reftest box-shadow-changes-modify-clip.ui" ... 1/1 gtk:reftest / reftest box-shadow-changes-modify-clip.ui ERROR 0.77s `` Fix this by re-inhibiting if we didn't draw anything, or we will get an assert the next paint.
This commit is contained in:
parent
36314c3ff7
commit
b4af23be23
@ -231,7 +231,10 @@ draw_paintable (GdkPaintable *paintable,
|
||||
cairo_t *cr;
|
||||
|
||||
if (!reftest_uninhibit_snapshot ())
|
||||
return;
|
||||
{
|
||||
reftest_inhibit_snapshot();
|
||||
return;
|
||||
}
|
||||
|
||||
snapshot = gtk_snapshot_new ();
|
||||
gdk_paintable_snapshot (paintable,
|
||||
@ -244,7 +247,10 @@ draw_paintable (GdkPaintable *paintable,
|
||||
* the invalidations were only side effects of resizes.
|
||||
*/
|
||||
if (node == NULL)
|
||||
return;
|
||||
{
|
||||
reftest_inhibit_snapshot();
|
||||
return;
|
||||
}
|
||||
|
||||
surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
|
||||
gdk_paintable_get_intrinsic_width (paintable),
|
||||
|
Loading…
Reference in New Issue
Block a user