]> git.sur5r.net Git - i3/i3/blobdiff - src/ipc.c
Merge branch 'master' into next
[i3/i3] / src / ipc.c
index 577538c20ddf27af6de40bacffb37158f2477e2c..031ee9ab5d78bea6369b740bdc84f760fb734c99 100644 (file)
--- a/src/ipc.c
+++ b/src/ipc.c
@@ -59,8 +59,10 @@ static bool mkdirp(const char *path) {
         copy[strlen(copy)-1] = '\0';
 
     char *sep = strrchr(copy, '/');
-    if (sep == NULL)
+    if (sep == NULL) {
+        FREE(copy);
         return false;
+    }
     *sep = '\0';
     bool result = false;
     if (mkdirp(copy))
@@ -248,7 +250,10 @@ void dump_node(yajl_gen gen, struct Con *con, bool inplace_restart) {
     dump_rect(gen, "geometry", con->geometry);
 
     ystr("name");
-    ystr(con->name);
+    if (con->window && con->window->name_json)
+        ystr(con->window->name_json);
+    else
+        ystr(con->name);
 
     if (con->type == CT_WORKSPACE) {
         ystr("num");
@@ -279,7 +284,7 @@ void dump_node(yajl_gen gen, struct Con *con, bool inplace_restart) {
 
     ystr("focus");
     y(array_open);
-    TAILQ_FOREACH(node, &(con->focus_head), nodes) {
+    TAILQ_FOREACH(node, &(con->focus_head), focused) {
         y(integer, (long int)node);
     }
     y(array_close);