Commit 19d008c1 authored by jan.koester's avatar jan.koester
Browse files

Fix JSON boolean evaluation from strings for Editor widgets

parent 9db0ce69
Loading
Loading
Loading
Loading
+18 −3
Original line number Diff line number Diff line
@@ -418,17 +418,32 @@ extern "C" {
                    val = json_object_get_string(val_obj); if (val) m_contentPadding = val;
                }
                if (json_object_object_get_ex(obj, "open_by_default", &val_obj)) {
                    if (json_object_is_type(val_obj, json_type_string)) {
                        const char *s = json_object_get_string(val_obj);
                        openByDefault = (s && (strcmp(s, "true") == 0 || strcmp(s, "1") == 0));
                    } else {
                        openByDefault = json_object_get_boolean(val_obj);
                    }
                }
                if (json_object_object_get_ex(obj, "icon_position", &val_obj)) {
                    val = json_object_get_string(val_obj); if (val && val[0]) iconPosition = val;
                }
                if (json_object_object_get_ex(obj, "hidden", &val_obj)) {
                    if (json_object_is_type(val_obj, json_type_string)) {
                        const char *s = json_object_get_string(val_obj);
                        hidden = (s && (strcmp(s, "true") == 0 || strcmp(s, "1") == 0));
                    } else {
                        hidden = json_object_get_boolean(val_obj);
                    }
                }
                if (json_object_object_get_ex(obj, "m_hidden", &val_obj)) {
                    if (json_object_is_type(val_obj, json_type_string)) {
                        const char *s = json_object_get_string(val_obj);
                        m_hidden = (s && (strcmp(s, "true") == 0 || strcmp(s, "1") == 0));
                    } else {
                        m_hidden = json_object_get_boolean(val_obj);
                    }
                }
                if (json_object_object_get_ex(obj, "custom_css", &val_obj)) {
                    val = json_object_get_string(val_obj);
                    if (val) customCss = val;
+12 −2
Original line number Diff line number Diff line
@@ -455,11 +455,21 @@ extern "C" {
                    if (val) m_verticalAlign = val;
                }
                if (json_object_object_get_ex(obj, "hidden", &val_obj)) {
                    if (json_object_is_type(val_obj, json_type_string)) {
                        const char *s = json_object_get_string(val_obj);
                        hidden = (s && (strcmp(s, "true") == 0 || strcmp(s, "1") == 0));
                    } else {
                        hidden = json_object_get_boolean(val_obj);
                    }
                }
                if (json_object_object_get_ex(obj, "m_hidden", &val_obj)) {
                    if (json_object_is_type(val_obj, json_type_string)) {
                        const char *s = json_object_get_string(val_obj);
                        m_hidden = (s && (strcmp(s, "true") == 0 || strcmp(s, "1") == 0));
                    } else {
                        m_hidden = json_object_get_boolean(val_obj);
                    }
                }
                if (json_object_object_get_ex(obj, "custom_css", &val_obj)) {
                    val = json_object_get_string(val_obj);
                    if (val) customCss = val;
+30 −5
Original line number Diff line number Diff line
@@ -569,8 +569,13 @@ extern "C" {
                    val = json_object_get_string(val_obj); if (val) height = val;
                }
                if (json_object_object_get_ex(obj, "open_new_tab", &val_obj)) {
                    if (json_object_is_type(val_obj, json_type_string)) {
                        const char *s = json_object_get_string(val_obj);
                        openInNewTab = (s && (strcmp(s, "true") == 0 || strcmp(s, "1") == 0));
                    } else {
                        openInNewTab = json_object_get_boolean(val_obj);
                    }
                }
                if (json_object_object_get_ex(obj, "l_background_color", &val_obj)) {
                    val = json_object_get_string(val_obj); if (val) l_backgroundColor = val;
                }
@@ -593,18 +598,33 @@ extern "C" {
                    val = json_object_get_string(val_obj); if (val) m_height = val;
                }
                if (json_object_object_get_ex(obj, "hidden", &val_obj)) {
                    if (json_object_is_type(val_obj, json_type_string)) {
                        const char *s = json_object_get_string(val_obj);
                        hidden = (s && (strcmp(s, "true") == 0 || strcmp(s, "1") == 0));
                    } else {
                        hidden = json_object_get_boolean(val_obj);
                    }
                }
                if (json_object_object_get_ex(obj, "m_hidden", &val_obj)) {
                    if (json_object_is_type(val_obj, json_type_string)) {
                        const char *s = json_object_get_string(val_obj);
                        m_hidden = (s && (strcmp(s, "true") == 0 || strcmp(s, "1") == 0));
                    } else {
                        m_hidden = json_object_get_boolean(val_obj);
                    }
                }
                if (json_object_object_get_ex(obj, "custom_css", &val_obj)) {
                    val = json_object_get_string(val_obj);
                    if (val) customCss = val;
                }
                if (json_object_object_get_ex(obj, "g_event_enabled", &val_obj)) {
                    if (json_object_is_type(val_obj, json_type_string)) {
                        const char *s = json_object_get_string(val_obj);
                        gEventEnabled = (s && (strcmp(s, "true") == 0 || strcmp(s, "1") == 0));
                    } else {
                        gEventEnabled = json_object_get_boolean(val_obj);
                    }
                }
                if (json_object_object_get_ex(obj, "g_event_name", &val_obj)) {
                    val = json_object_get_string(val_obj); if (val) gEventName = val;
                }
@@ -618,8 +638,13 @@ extern "C" {
                    val = json_object_get_string(val_obj); if (val) gEventValue = val;
                }
                if (json_object_object_get_ex(obj, "g_consent_update", &val_obj)) {
                    if (json_object_is_type(val_obj, json_type_string)) {
                        const char *s = json_object_get_string(val_obj);
                        gConsentUpdate = (s && (strcmp(s, "true") == 0 || strcmp(s, "1") == 0));
                    } else {
                        gConsentUpdate = json_object_get_boolean(val_obj);
                    }
                }

                json_object_put(obj);
            }
+12 −2
Original line number Diff line number Diff line
@@ -598,11 +598,21 @@ extern "C" {
                    if (val) m_verticalAlign = val;
                }
                if (json_object_object_get_ex(obj, "hidden", &val_obj)) {
                    if (json_object_is_type(val_obj, json_type_string)) {
                        const char *s = json_object_get_string(val_obj);
                        hidden = (s && (strcmp(s, "true") == 0 || strcmp(s, "1") == 0));
                    } else {
                        hidden = json_object_get_boolean(val_obj);
                    }
                }
                if (json_object_object_get_ex(obj, "m_hidden", &val_obj)) {
                    if (json_object_is_type(val_obj, json_type_string)) {
                        const char *s = json_object_get_string(val_obj);
                        m_hidden = (s && (strcmp(s, "true") == 0 || strcmp(s, "1") == 0));
                    } else {
                        m_hidden = json_object_get_boolean(val_obj);
                    }
                }
                if (json_object_object_get_ex(obj, "custom_css", &val_obj)) {
                    val = json_object_get_string(val_obj);
                    if (val) customCss = val;
+12 −2
Original line number Diff line number Diff line
@@ -307,11 +307,21 @@ extern "C" {
                    val = json_object_get_string(val_obj); if (val) m_height = val;
                }
                if (json_object_object_get_ex(obj, "hidden", &val_obj)) {
                    if (json_object_is_type(val_obj, json_type_string)) {
                        const char *s = json_object_get_string(val_obj);
                        hidden = (s && (strcmp(s, "true") == 0 || strcmp(s, "1") == 0));
                    } else {
                        hidden = json_object_get_boolean(val_obj);
                    }
                }
                if (json_object_object_get_ex(obj, "m_hidden", &val_obj)) {
                    if (json_object_is_type(val_obj, json_type_string)) {
                        const char *s = json_object_get_string(val_obj);
                        m_hidden = (s && (strcmp(s, "true") == 0 || strcmp(s, "1") == 0));
                    } else {
                        m_hidden = json_object_get_boolean(val_obj);
                    }
                }

                json_object_put(obj);
            }
Loading