From 404f94638fcdf79d90f267b8635b6f699d495e02 Mon Sep 17 00:00:00 2001 From: Dorota Czaplejewicz Date: Thu, 20 Feb 2020 12:06:47 +0000 Subject: [PATCH] settings: Handle empty settings --- eekboard/eekboard-context-service.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/eekboard/eekboard-context-service.c b/eekboard/eekboard-context-service.c index cf5e7e4d..c07885c2 100644 --- a/eekboard/eekboard-context-service.c +++ b/eekboard/eekboard-context-service.c @@ -114,8 +114,14 @@ static void settings_get_layout(GSettings *settings, char **type, char **layout) { GVariant *inputs = g_settings_get_value(settings, "sources"); - // current layout is always first - g_variant_get_child(inputs, 0, "(ss)", type, layout); + if (g_variant_n_children(inputs) == 0) { + 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); }