Clear window before redrawing (again!)
The timeline of this issue is as follows: In 7a094bc a call to XClearWindow/XFlush was added as part of RGBA support. Afterwards, I noticed that there is some noticeable flicker while redrawing for large notifications, so I foolishly removed both of these calls without considering the full effects. As a result when redrawing notifications 'stack up' with each-other. After a testing it seems that the XFlush call that was causing the flicker is not necessary and XClearWindow works without it. Fixes #728
This commit is contained in:
parent
1ca271084a
commit
8afb7fcd1a
@ -154,6 +154,8 @@ void x_display_surface(cairo_surface_t *srf, struct window_x11 *win, const struc
|
|||||||
x_win_move(win, dim->x, dim->y, dim->w, dim->h);
|
x_win_move(win, dim->x, dim->y, dim->w, dim->h);
|
||||||
cairo_xlib_surface_set_size(win->root_surface, dim->w, dim->h);
|
cairo_xlib_surface_set_size(win->root_surface, dim->w, dim->h);
|
||||||
|
|
||||||
|
XClearWindow(xctx.dpy, win->xwin);
|
||||||
|
|
||||||
cairo_set_source_surface(win->c_ctx, srf, 0, 0);
|
cairo_set_source_surface(win->c_ctx, srf, 0, 0);
|
||||||
cairo_paint(win->c_ctx);
|
cairo_paint(win->c_ctx);
|
||||||
cairo_show_page(win->c_ctx);
|
cairo_show_page(win->c_ctx);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user