]> git.sur5r.net Git - i3/i3/commitdiff
take care of non-existant old workspaces
authorFrancesco Mazzoli <f@mazzo.li>
Sat, 3 Nov 2012 11:17:30 +0000 (11:17 +0000)
committerMichael Stapelberg <michael@stapelberg.de>
Tue, 13 Nov 2012 08:33:03 +0000 (09:33 +0100)
docs/ipc
src/workspace.c

index ae833c9fcef34a4cc92c2719a3c27745a97a0b14..ff60dbd13a015fb03754d3c4a61e0a2876626311 100644 (file)
--- a/docs/ipc
+++ b/docs/ipc
@@ -646,7 +646,9 @@ This event consists of a single serialized map containing a property
 +change (string)+ which indicates the type of the change ("focus", "init",
 "empty", "urgent").  Additionally, when the change is "focus", an +old
 (object)+ and a +current (object)+ properties will be present with the
-previous and current workspace respectively.
+previous and current workspace respectively.  When the first switch
+occurs (when i3 focuses the workspace visible at the beginning) there is
+no previous workspace, and the +old+ property will be set to +null+.
 
 *Example:*
 ---------------------
index d43548983fdb07f96b89c37fe5c6408e1cfd1bec..fbd68dba0561eef72d5bdbec7f5250418540045d 100644 (file)
@@ -350,7 +350,10 @@ static void _workspace_focus_event(Con *current, Con *old) {
     dump_node(gen, current, false);
 
     ystr("old");
-    dump_node(gen, old, false);
+    if (old == NULL)
+        y(null);
+    else
+        dump_node(gen, old, false);
 
     y(map_close);