aboutsummaryrefslogtreecommitdiff
path: root/src/keyboard-lomiri.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/keyboard-lomiri.c')
-rw-r--r--src/keyboard-lomiri.c36
1 files changed, 20 insertions, 16 deletions
diff --git a/src/keyboard-lomiri.c b/src/keyboard-lomiri.c
index e5e0f623..1455b95e 100644
--- a/src/keyboard-lomiri.c
+++ b/src/keyboard-lomiri.c
@@ -431,7 +431,6 @@ static void keyboard_init(Keyboard *self)
}
}
- guint nLayouts = g_strv_length(lLayouts);
guint nVariants = 0;
if (lVariants != NULL)
@@ -439,34 +438,39 @@ static void keyboard_init(Keyboard *self)
g_strv_length(lVariants);
}
- for (guint nLayout = 0; nLayout < nLayouts; nLayout++)
+ if (lLayouts != NULL)
{
- gchar *sId = NULL;
+ guint nLayouts = g_strv_length(lLayouts);
- if (nVariants > nLayout)
+ for (guint nLayout = 0; nLayout < nLayouts; nLayout++)
{
- guint nVariant = strlen(lVariants[nLayout]);
+ gchar *sId = NULL;
- if (nVariants == nLayouts && nVariant > 0)
+ if (nVariants > nLayout)
{
- sId = g_strconcat(lLayouts[nLayout], "+", lVariants[nLayout], NULL);
+ guint nVariant = strlen(lVariants[nLayout]);
+
+ if (nVariants == nLayouts && nVariant > 0)
+ {
+ sId = g_strconcat(lLayouts[nLayout], "+", lVariants[nLayout], NULL);
+ }
+ else
+ {
+ sId = g_strdup(lLayouts[nLayout]);
+ }
}
else
{
sId = g_strdup(lLayouts[nLayout]);
}
- }
- else
- {
- sId = g_strdup(lLayouts[nLayout]);
- }
- self->pPrivate->lLayoutRec = g_slist_append(self->pPrivate->lLayoutRec, sId);
- }
+ self->pPrivate->lLayoutRec = g_slist_append(self->pPrivate->lLayoutRec, sId);
+ }
- self->pPrivate->nLayout = 0;
+ self->pPrivate->nLayout = 0;
- g_strfreev(lLayouts);
+ g_strfreev(lLayouts);
+ }
if (lVariants != NULL)
{