From 1055973f66bc7c94ea9a05a9cbb7d1b83a338c38 Mon Sep 17 00:00:00 2001 From: Francesco Mazzoli Date: Sat, 3 Nov 2012 11:17:31 +0000 Subject: [PATCH] refactor, name changes We need to send the workspace event earlier, because otherwise 'old' might already be destroyed (if it was empty). --- src/workspace.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/workspace.c b/src/workspace.c index fbd68dba..e277f072 100644 --- a/src/workspace.c +++ b/src/workspace.c @@ -338,7 +338,7 @@ static void workspace_defer_update_urgent_hint_cb(EV_P_ ev_timer *w, int revents * For the "focus" event we send, along the usual "change" field, also the * current and previous workspace, in "current" and "old" respectively. */ -static void _workspace_focus_event(Con *current, Con *old) { +static void ipc_send_workspace_focus_event(Con *current, Con *old) { yajl_gen gen = ygenalloc(); y(map_open); @@ -440,6 +440,8 @@ static void _workspace_show(Con *workspace) { } else con_focus(next); + ipc_send_workspace_focus_event(workspace, old); + DLOG("old = %p / %s\n", old, (old ? old->name : "(null)")); /* Close old workspace if necessary. This must be done *after* doing * urgency handling, because tree_close() will do a con_focus() on the next @@ -466,8 +468,6 @@ static void _workspace_show(Con *workspace) { /* Update the EWMH hints */ ewmh_update_current_desktop(); - - _workspace_focus_event(workspace, current); } /* -- 2.39.5