From: Mikael Magnusson Date: Thu, 28 Feb 2008 01:12:19 +0000 (+0100) Subject: Better locking for client menu. X-Git-Url: http://git.openbox.org/?a=commitdiff_plain;h=c39cf0f72e3f9c787718473ef1957c3b8b8a1c15;p=mikachu%2Fopenbox.git Better locking for client menu. --- diff --git a/openbox/client_menu.c b/openbox/client_menu.c index f34c8ef3..f3ba870a 100644 --- a/openbox/client_menu.c +++ b/openbox/client_menu.c @@ -78,6 +78,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; @@ -121,9 +125,6 @@ static void client_menu_execute(ObMenuEntry *e, ObMenuFrame *f, if (!c) return; - if (c->locked) - return; - if (!config_focus_under_mouse) ignore_start = event_start_ignore_all_enters(); @@ -221,9 +222,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(); @@ -296,9 +294,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); if (f && c->desktop != screen_desktop && c->desktop != DESKTOP_ALL) /* the client won't even be on the screen anymore, so hide the menu */