aboutsummaryrefslogtreecommitdiff
path: root/src/keyboard-lomiri.c
diff options
context:
space:
mode:
authorRobert Tari <robert@tari.in>2023-11-01 11:11:01 +0100
committerRobert Tari <robert@tari.in>2023-11-01 11:11:01 +0100
commit76e4d65da8d64961654bad0ea8b4f094dd5608ad (patch)
tree7ce8ec5bf2c06ee35a207a0ae83e0645b0d815f4 /src/keyboard-lomiri.c
parent465d686a86fa2c1eacf2bca5390399ca88a94560 (diff)
downloadayatana-indicator-keyboard-76e4d65da8d64961654bad0ea8b4f094dd5608ad.tar.gz
ayatana-indicator-keyboard-76e4d65da8d64961654bad0ea8b4f094dd5608ad.tar.bz2
ayatana-indicator-keyboard-76e4d65da8d64961654bad0ea8b4f094dd5608ad.zip
Check if layout array is null before iterating it
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)
{