Bugfix: Correctly parse the 'focused' (it’s a bool, no longer int) when restoring layout (Thanks andi)
This commit is contained in:
parent
93f475778f
commit
7e0cbf18f9
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue