aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorFederico Angelilli <code@fedang.net>2024-03-17 17:01:16 +0100
committerFederico Angelilli <code@fedang.net>2024-03-17 17:01:16 +0100
commite0c591cd6a3ac5af82c41460149f1ae6be8e3819 (patch)
tree5f7a9117d02be7e4d737d2682aa98861b95fef4e /src
parented1c374aaa32ebe1cbcc682dc26232d46d33eb50 (diff)
Flush cairo surface
Diffstat (limited to 'src')
-rw-r--r--src/window.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/window.c b/src/window.c
index 87779ea..cc9c9fc 100644
--- a/src/window.c
+++ b/src/window.c
@@ -281,10 +281,15 @@ void window_paint_surface(Window *win, cairo_surface_t *surface, int width, int
cairo_xcb_surface_set_size(win->surface, width, height);
xcb_clear_area(win->con->connection, false, win->window, 0, 0, 0, 0);
+ cairo_save(win->cr);
cairo_set_source_surface(win->cr, surface, 0, 0);
+
cairo_paint(win->cr);
cairo_show_page(win->cr);
+ cairo_surface_flush(win->surface);
+ cairo_restore(win->cr);
+
xcb_circulate_window(win->con->connection, XCB_CIRCULATE_RAISE_LOWEST, win->window);
xcb_flush(win->con->connection);
}