summaryrefslogtreecommitdiff
path: root/development/poedit/poedit-gtkspell.patch
diff options
context:
space:
mode:
Diffstat (limited to 'development/poedit/poedit-gtkspell.patch')
-rw-r--r--development/poedit/poedit-gtkspell.patch49
1 files changed, 49 insertions, 0 deletions
diff --git a/development/poedit/poedit-gtkspell.patch b/development/poedit/poedit-gtkspell.patch
new file mode 100644
index 0000000000..a1299755fd
--- /dev/null
+++ b/development/poedit/poedit-gtkspell.patch
@@ -0,0 +1,49 @@
+Index: src/edframe.cpp
+===================================================================
+--- src/edframe.cpp (revision 1450)
++++ src/edframe.cpp (working copy)
+@@ -829,14 +829,26 @@
+ wxASSERT_MSG( textview, _T("wxTextCtrl is supposed to use GtkTextView") );
+ GtkSpell *spell = gtkspell_get_from_text_view(textview);
+
+- if (spell)
+- gtkspell_detach(spell);
++ printf("init spellchecker for %s\n", (const char*)lang.ToAscii());
+
+ if (enable)
+ {
+ GError *err = NULL;
+- if (!gtkspell_new_attach(textview, lang.ToAscii(), &err))
++ bool ok;
++
++ if (spell)
+ {
++ printf("gtkspell_set_language\n");
++ ok = gtkspell_set_language(spell, lang.ToAscii(), &err);
++ }
++ else
++ {
++ printf("gtkspell_new_attach\n");
++ ok = gtkspell_new_attach(textview, lang.ToAscii(), &err) != NULL;
++ }
++
++ if (!ok)
++ {
+ #if 0
+ // FIXME: report the failure in some less intrusive way than the
+ // code that was used here; say for which language, too
+@@ -846,6 +858,14 @@
+ g_error_free(err);
+ }
+ }
++ else
++ {
++ if (spell)
++ {
++ printf("gtkspell_detach\n");
++ gtkspell_detach(spell);
++ }
++ }
+ }
+ #endif // __WXGTK__
+