From dc4a2863dd402b052edce27e441503751619b024 Mon Sep 17 00:00:00 2001 From: Mihai Moldovan Date: Fri, 28 Jul 2023 20:24:57 +0200 Subject: ui/frames: check that compositing is not only requested, but also available. Enabling code that is supposed to be used in compositing conditions is harmful if compositing is not actually available. Just checking the preference is not enough to make sure that compositing is available - the X server might be missing crucial extensions for compositing to work, which in turn correctly disables the internal compositor. The end result is graphical issues like black borders around windows in such situations. Make sure that compositing is both requested AND available to fix this bug. --- src/core/frame.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/core') diff --git a/src/core/frame.c b/src/core/frame.c index 957f6c76..e1eec2a4 100644 --- a/src/core/frame.c +++ b/src/core/frame.c @@ -152,6 +152,7 @@ meta_window_ensure_frame (MetaWindow *window) /* Shape mask */ meta_ui_apply_frame_shape (frame->window->screen->ui, + frame->window->display, frame->xwindow, frame->rect.width, frame->rect.height, @@ -325,6 +326,7 @@ update_shape (MetaFrame *frame) if (frame->need_reapply_frame_shape) { meta_ui_apply_frame_shape (frame->window->screen->ui, + frame->window->display, frame->xwindow, frame->rect.width, frame->rect.height, -- cgit v1.2.1