From 13152d0b0fa86faa18810e038b16e2e2529b2565 Mon Sep 17 00:00:00 2001 From: Mikael Magnusson Date: Thu, 28 Feb 2008 02:12:19 +0100 Subject: [PATCH] Better locking for client menu. --- openbox/client_menu.c | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/openbox/client_menu.c b/openbox/client_menu.c index addee731..6f154705 100644 --- a/openbox/client_menu.c +++ b/openbox/client_menu.c @@ -69,6 +69,10 @@ static gboolean client_menu_update(ObMenuFrame *frame, gpointer data) ObClient *c = frame->client; if (e->type == OB_MENU_ENTRY_TYPE_NORMAL) { + if (c->locked) { + *en = FALSE; + continue; + } switch (e->id) { case CLIENT_ICONIFY: *en = c->functions & OB_CLIENT_FUNC_ICONIFY; @@ -111,9 +115,6 @@ static void client_menu_execute(ObMenuEntry *e, ObMenuFrame *f, g_assert(c); - if (c->locked) - return; - if (!config_focus_under_mouse) ignore_start = event_start_ignore_all_enters(); @@ -211,9 +212,6 @@ static void layer_menu_execute(ObMenuEntry *e, ObMenuFrame *f, g_assert(c); - if (c->locked) - return; - if (!config_focus_under_mouse) ignore_start = event_start_ignore_all_enters(); @@ -290,9 +288,6 @@ static void send_to_menu_execute(ObMenuEntry *e, ObMenuFrame *f, { g_assert(c); - if (c->locked) - return; - client_set_desktop(c, e->id, FALSE, FALSE); /* the client won't even be on the screen anymore, so hide the menu */ if (f) -- 2.34.1