From fb07657f28f8d172ab46f384d804f16c1fa8e23b Mon Sep 17 00:00:00 2001 From: Olivier Fourdan <fourdan.olivier@wanadoo.fr> Date: Sun, 11 Sep 2005 20:45:12 +0000 Subject: [PATCH] Don't follow NET_CURRENT_DESKTOP event if specified value is out of range (fix bug #1140) (Old svn revision: 17558) --- src/client.c | 1 - src/events.c | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/client.c b/src/client.c index 119e16f3f..cec9818b6 100644 --- a/src/client.c +++ b/src/client.c @@ -2019,7 +2019,6 @@ clientSetWorkspaceSingle (Client * c, int ws) TRACE ("entering clientSetWorkspaceSingle"); - screen_info = c->screen_info; display_info = screen_info->display_info; diff --git a/src/events.c b/src/events.c index d158b5e9f..840157ccb 100644 --- a/src/events.c +++ b/src/events.c @@ -1947,8 +1947,8 @@ handleClientMessage (DisplayInfo *display_info, XClientMessageEvent * ev) if (((ev->message_type == display_info->atoms[WIN_WORKSPACE]) || (ev->message_type == display_info->atoms[NET_CURRENT_DESKTOP])) && (ev->format == 32)) { - TRACE ("root has received a win_workspace or a net_current_desktop event"); - if (ev->data.l[0] != screen_info->current_ws) + TRACE ("root has received a win_workspace or a net_current_desktop event %i", ev->data.l[0]); + if ((ev->data.l[0] >= 0) && (ev->data.l[0] < screen_info->workspace_count) && (ev->data.l[0] != screen_info->current_ws)) { workspaceSwitch (screen_info, ev->data.l[0], NULL); } -- GitLab