Merge branch 'fix_variant' into 'master'

settings: Handle empty settings

See merge request Librem5/squeekboard!333
This commit is contained in:
Dorota Czaplejewicz
2020-02-28 11:09:11 +00:00

View File

@ -114,8 +114,14 @@ static void
settings_get_layout(GSettings *settings, char **type, char **layout) settings_get_layout(GSettings *settings, char **type, char **layout)
{ {
GVariant *inputs = g_settings_get_value(settings, "sources"); GVariant *inputs = g_settings_get_value(settings, "sources");
// current layout is always first if (g_variant_n_children(inputs) == 0) {
g_variant_get_child(inputs, 0, "(ss)", type, layout); g_warning("No system layout present");
*type = NULL;
*layout = NULL;
} else {
// current layout is always first
g_variant_get_child(inputs, 0, "(ss)", type, layout);
}
g_variant_unref(inputs); g_variant_unref(inputs);
} }