From: Michael Stapelberg Date: Thu, 4 Aug 2011 20:58:19 +0000 (+0200) Subject: Bugfix: Correctly parse the 'focused' (it’s a bool, no longer int) when restoring... X-Git-Tag: 4.0.2~55^2~1 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=7e0cbf18f96b9a76b6b608566bdd29b646640e59;p=i3%2Fi3 Bugfix: Correctly parse the 'focused' (it’s a bool, no longer int) when restoring layout (Thanks andi) --- 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);