[gtk/wip/chergert/spellcheck] avoid reentrancy
- From: Christian Hergert <chergert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/wip/chergert/spellcheck] avoid reentrancy
- Date: Fri, 12 Mar 2021 15:43:04 +0000 (UTC)
commit f80b953a0f4b40ce93904819f05cbead1c60f7ef
Author: Christian Hergert <chergert redhat com>
Date: Fri Mar 12 07:42:56 2021 -0800
avoid reentrancy
gtk/gtkspellchecker.c | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
---
diff --git a/gtk/gtkspellchecker.c b/gtk/gtkspellchecker.c
index bf9bd69316..60fd2881ec 100644
--- a/gtk/gtkspellchecker.c
+++ b/gtk/gtkspellchecker.c
@@ -161,7 +161,15 @@ gtk_spell_checker_get_default (void)
static GtkSpellChecker *checker;
if (checker == NULL)
- checker = gtk_spell_checker_new_for_languages (_gtk_spell_language_get_defaults ());
+ {
+ static const char *fallbacks[] = { "en_US", "C", NULL };
+ const char * const *defaults = _gtk_spell_language_get_defaults ();
+
+ if (defaults == NULL || defaults[0] == NULL)
+ defaults = fallbacks;
+
+ checker = gtk_spell_checker_new_for_languages (defaults);
+ }
return checker;
}
@@ -184,9 +192,6 @@ gtk_spell_checker_get_default (void)
GtkSpellChecker *
gtk_spell_checker_new_for_languages (const char * const *languages)
{
- if (languages == NULL || languages[0] == NULL)
- return g_object_ref (gtk_spell_checker_get_default ());
-
return g_object_new (GTK_TYPE_SPELL_CHECKER,
"languages", languages,
NULL);
@@ -208,6 +213,5 @@ GtkSpellChecker *
gtk_spell_checker_new_for_language (const char *language)
{
const char *languages[] = { language, NULL };
-
return gtk_spell_checker_new_for_languages (languages);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]