Bugfix: Recreate double-buffers on reconfiguring (thx sECuRE)

This commit is contained in:
Axel Wagner 2011-01-06 17:28:21 +01:00
parent 2aeea30cc7
commit 5f32bfa6d8
1 changed files with 16 additions and 0 deletions

View File

@ -727,14 +727,30 @@ void reconfig_windows() {
values[2] = walk->rect.w; values[2] = walk->rect.w;
values[3] = font_height + 6; values[3] = font_height + 6;
values[4] = XCB_STACK_MODE_ABOVE; values[4] = XCB_STACK_MODE_ABOVE;
DLOG("Destroying buffer for output %s", walk->name);
xcb_free_pixmap(xcb_connection, walk->buffer);
DLOG("Reconfiguring Window for output %s to %d,%d\n", walk->name, values[0], values[1]); DLOG("Reconfiguring Window for output %s to %d,%d\n", walk->name, values[0], values[1]);
xcb_void_cookie_t cfg_cookie = xcb_configure_window_checked(xcb_connection, xcb_void_cookie_t cfg_cookie = xcb_configure_window_checked(xcb_connection,
walk->bar, walk->bar,
mask, mask,
values); values);
DLOG("Recreating buffer for output %s", walk->name);
xcb_void_cookie_t pm_cookie = xcb_create_pixmap_checked(xcb_connection,
xcb_screen->root_depth,
walk->buffer,
walk->bar,
walk->rect.w,
walk->rect.h);
if (xcb_request_failed(cfg_cookie, "Could not reconfigure window")) { if (xcb_request_failed(cfg_cookie, "Could not reconfigure window")) {
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }
if (xcb_request_failed(pm_cookie, "Could not create pixmap")) {
exit(EXIT_FAILURE);
}
} }
} }
} }