diff --git a/source/widgets/widget.c b/source/widgets/widget.c index 54f8c955f..73dfdac1e 100644 --- a/source/widgets/widget.c +++ b/source/widgets/widget.c @@ -250,9 +250,7 @@ void widget_draw(widget *wid, cairo_t *d) { cairo_restore(d); if (left != 0 || top != 0 || right != 0 || bottom != 0) { - // NOTE: Cairo group push/pop has same effect as cairo_save/cairo_restore, - // thus no need for these. - cairo_push_group(d); + cairo_save(d); cairo_set_operator(d, CAIRO_OPERATOR_ADD); cairo_translate(d, wid->x, wid->y); cairo_new_path(d); @@ -409,8 +407,7 @@ void widget_draw(widget *wid, cairo_t *d) { cairo_fill(d); } - cairo_pop_group_to_source(d); - cairo_paint(d); + cairo_restore(d); } } }