From 7e0cbf18f96b9a76b6b608566bdd29b646640e59 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Thu, 4 Aug 2011 22:58:19 +0200 Subject: [PATCH] =?utf8?q?Bugfix:=20Correctly=20parse=20the=20'focused'=20?= =?utf8?q?(it=E2=80=99s=20a=20bool,=20no=20longer=20int)=20when=20restorin?= =?utf8?q?g=20layout=20(Thanks=20andi)?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- src/load_layout.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/load_layout.c b/src/load_layout.c index 6e311f1f..ecd0a982 100644 --- a/src/load_layout.c +++ b/src/load_layout.c @@ -157,20 +157,12 @@ static int json_int(void *ctx, long long val) { static int json_int(void *ctx, long val) { #endif LOG("int %d for key %s\n", val, last_key); - // TODO: remove this after the next preview release - if (strcasecmp(last_key, "layout") == 0) { - json_node->layout = val; - } if (strcasecmp(last_key, "type") == 0) { json_node->type = val; } if (strcasecmp(last_key, "fullscreen_mode") == 0) { json_node->fullscreen_mode = val; } - if (strcasecmp(last_key, "focused") == 0 && val == 1) { - to_focus = json_node; - } - if (strcasecmp(last_key, "num") == 0) json_node->num = val; @@ -208,6 +200,15 @@ static int json_int(void *ctx, long val) { return 1; } +static int json_bool(void *ctx, int val) { + LOG("bool %d for key %s\n", val, last_key); + if (strcasecmp(last_key, "focused") == 0 && val) { + to_focus = json_node; + } + + return 1; +} + static int json_double(void *ctx, double val) { LOG("double %f for key %s\n", val, last_key); if (strcasecmp(last_key, "percent") == 0) { @@ -237,6 +238,7 @@ void tree_append_json(const char *filename) { callbacks.yajl_map_key = json_key; callbacks.yajl_integer = json_int; callbacks.yajl_double = json_double; + callbacks.yajl_boolean = json_bool; #if YAJL_MAJOR >= 2 g = yajl_gen_alloc(NULL); hand = yajl_alloc(&callbacks, NULL, (void*)g); -- 2.39.5