imcontextsimple: Rewrite a function slightly

This hopefully avoids upsetting static analyis.
This commit is contained in:
Matthias Clasen 2021-09-17 20:02:12 -04:00
parent be1a60d5d0
commit c4e558da46

View File

@ -270,7 +270,6 @@ gtk_im_context_simple_init_compose_table (void)
const char *locale; const char *locale;
char **langs = NULL; char **langs = NULL;
char **lang = NULL; char **lang = NULL;
gboolean added;
const char * const sys_langs[] = { "el_gr", "fi_fi", "pt_br", NULL }; const char * const sys_langs[] = { "el_gr", "fi_fi", "pt_br", NULL };
const char * const *sys_lang = NULL; const char * const *sys_lang = NULL;
char *x11_compose_file_dir = get_x11_compose_file_dir (); char *x11_compose_file_dir = get_x11_compose_file_dir ();
@ -278,10 +277,11 @@ gtk_im_context_simple_init_compose_table (void)
path = g_build_filename (g_get_user_config_dir (), "gtk-4.0", "Compose", NULL); path = g_build_filename (g_get_user_config_dir (), "gtk-4.0", "Compose", NULL);
if (g_file_test (path, G_FILE_TEST_EXISTS)) if (g_file_test (path, G_FILE_TEST_EXISTS))
{ {
added = add_compose_table_from_file (path); if (add_compose_table_from_file (path))
g_free (path); {
if (added) g_free (path);
return; return;
}
} }
g_clear_pointer (&path, g_free); g_clear_pointer (&path, g_free);
@ -292,10 +292,11 @@ gtk_im_context_simple_init_compose_table (void)
path = g_build_filename (home, ".XCompose", NULL); path = g_build_filename (home, ".XCompose", NULL);
if (g_file_test (path, G_FILE_TEST_EXISTS)) if (g_file_test (path, G_FILE_TEST_EXISTS))
{ {
added = add_compose_table_from_file (path); if (add_compose_table_from_file (path))
g_free (path); {
if (added) g_free (path);
return; return;
}
} }
g_clear_pointer (&path, g_free); g_clear_pointer (&path, g_free);
@ -336,13 +337,13 @@ gtk_im_context_simple_init_compose_table (void)
g_free (x11_compose_file_dir); g_free (x11_compose_file_dir);
g_strfreev (langs); g_strfreev (langs);
if (path != NULL) if (path != NULL &&
add_compose_table_from_file (path))
{ {
added = add_compose_table_from_file (path);
g_free (path); g_free (path);
return;
} }
if (added) g_clear_pointer (&path, g_free);
return;
add_builtin_compose_table (); add_builtin_compose_table ();
} }