From c152ee11e3d10b93499d9f42b00cfd57f8ad2ba4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kristian=20H=C3=B8gsberg?= Date: Tue, 31 Dec 2013 15:35:39 -0800 Subject: [PATCH] window.c: Don't put buttons on frames for custom windows Custom windows don't have a wl_shell_surface and can't do anything in response to these button (except crash). This only affects the unlock dialog. https://bugs.freedesktop.org/show_bug.cgi?id=72542 --- clients/window.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/clients/window.c b/clients/window.c index 43761ca6..d586244e 100644 --- a/clients/window.c +++ b/clients/window.c @@ -2467,10 +2467,17 @@ struct widget * window_frame_create(struct window *window, void *data) { struct window_frame *frame; + uint32_t buttons; + + if (window->type == TYPE_CUSTOM) { + buttons = FRAME_BUTTON_NONE; + } else { + buttons = FRAME_BUTTON_ALL; + } frame = xzalloc(sizeof *frame); frame->frame = frame_create(window->display->theme, 0, 0, - FRAME_BUTTON_ALL, window->title); + buttons, window->title); frame->widget = window_add_widget(window, frame); frame->child = widget_add_widget(frame->widget, data);