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) {
|
static int json_int(void *ctx, long val) {
|
||||||
#endif
|
#endif
|
||||||
LOG("int %d for key %s\n", val, last_key);
|
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) {
|
if (strcasecmp(last_key, "type") == 0) {
|
||||||
json_node->type = val;
|
json_node->type = val;
|
||||||
}
|
}
|
||||||
if (strcasecmp(last_key, "fullscreen_mode") == 0) {
|
if (strcasecmp(last_key, "fullscreen_mode") == 0) {
|
||||||
json_node->fullscreen_mode = val;
|
json_node->fullscreen_mode = val;
|
||||||
}
|
}
|
||||||
if (strcasecmp(last_key, "focused") == 0 && val == 1) {
|
|
||||||
to_focus = json_node;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (strcasecmp(last_key, "num") == 0)
|
if (strcasecmp(last_key, "num") == 0)
|
||||||
json_node->num = val;
|
json_node->num = val;
|
||||||
|
|
||||||
|
@ -208,6 +200,15 @@ static int json_int(void *ctx, long val) {
|
||||||
return 1;
|
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) {
|
static int json_double(void *ctx, double val) {
|
||||||
LOG("double %f for key %s\n", val, last_key);
|
LOG("double %f for key %s\n", val, last_key);
|
||||||
if (strcasecmp(last_key, "percent") == 0) {
|
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_map_key = json_key;
|
||||||
callbacks.yajl_integer = json_int;
|
callbacks.yajl_integer = json_int;
|
||||||
callbacks.yajl_double = json_double;
|
callbacks.yajl_double = json_double;
|
||||||
|
callbacks.yajl_boolean = json_bool;
|
||||||
#if YAJL_MAJOR >= 2
|
#if YAJL_MAJOR >= 2
|
||||||
g = yajl_gen_alloc(NULL);
|
g = yajl_gen_alloc(NULL);
|
||||||
hand = yajl_alloc(&callbacks, NULL, (void*)g);
|
hand = yajl_alloc(&callbacks, NULL, (void*)g);
|
||||||
|
|
Loading…
Reference in New Issue