diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index bd78b738a2..3f5c23c918 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -124,7 +124,6 @@ jobs: # geanypg libgpgme-dev # geanyvc - libgtkspell-dev libgtkspell3-3-dev # geaniuspaste/updatechecker libsoup2.4-dev diff --git a/build/geanyvc.m4 b/build/geanyvc.m4 index ad604d4fb9..b8816a5b6e 100644 --- a/build/geanyvc.m4 +++ b/build/geanyvc.m4 @@ -6,8 +6,7 @@ AC_DEFUN([GP_CHECK_GEANYVC], AC_HELP_STRING([--enable-gtkspell=ARG], [Enable GtkSpell support in GeanyVC. [[default=auto]]]),, enable_gtkspell=auto) - GP_CHECK_GTK3([gtkspell_package=gtkspell3-3.0], - [gtkspell_package=gtkspell-2.0]) + gtkspell_package=gtkspell3-3.0 if [[ x"$enable_gtkspell" = "xauto" ]]; then PKG_CHECK_MODULES(GTKSPELL, $gtkspell_package, enable_gtkspell=yes, enable_gtkspell=no) diff --git a/geanyvc/src/geanyvc.c b/geanyvc/src/geanyvc.c index d599759e05..2b058f25d5 100644 --- a/geanyvc/src/geanyvc.c +++ b/geanyvc/src/geanyvc.c @@ -41,25 +41,6 @@ #ifdef USE_GTKSPELL #include -/* forward compatibility with GtkSpell3 */ -#if GTK_CHECK_VERSION(3, 0, 0) -#define GtkSpell GtkSpellChecker -#define gtkspell_set_language gtk_spell_checker_set_language -static GtkSpell *gtkspell_new_attach(GtkTextView *view, const gchar *lang, GError **error) -{ - GtkSpellChecker *speller = gtk_spell_checker_new(); - - if (! lang || gtk_spell_checker_set_language(speller, lang, error)) - gtk_spell_checker_attach(speller, view); - else - { - g_object_unref(g_object_ref_sink(speller)); - speller = NULL; - } - - return speller; -} -#endif #endif GeanyData *geany_data; @@ -1773,7 +1754,7 @@ vccommit_activated(G_GNUC_UNUSED GtkMenuItem * menuitem, G_GNUC_UNUSED gpointer gint height; #ifdef USE_GTKSPELL - GtkSpell *speller = NULL; + GtkSpellChecker *speller = NULL; GError *spellcheck_error = NULL; #endif @@ -1833,13 +1814,22 @@ vccommit_activated(G_GNUC_UNUSED GtkMenuItem * menuitem, G_GNUC_UNUSED gpointer gtk_paned_set_position(GTK_PANED(vpaned2), height * 50 / 100); #ifdef USE_GTKSPELL - speller = gtkspell_new_attach(GTK_TEXT_VIEW(messageView), EMPTY(lang) ? NULL : lang, &spellcheck_error); - if (speller == NULL && spellcheck_error != NULL) + speller = gtk_spell_checker_new(); + + if (EMPTY(lang) || gtk_spell_checker_set_language(speller, lang, &spellcheck_error)) + gtk_spell_checker_attach(speller, GTK_TEXT_VIEW(messageView)); + else { - ui_set_statusbar(TRUE, _("Error initializing GeanyVC spell checking: %s. Check your configuration."), - spellcheck_error->message); - g_error_free(spellcheck_error); - spellcheck_error = NULL; + if (spellcheck_error != NULL) + { + ui_set_statusbar(TRUE, _("Error initializing GeanyVC spell checking: %s. Check your configuration."), + spellcheck_error->message); + g_error_free(spellcheck_error); + spellcheck_error = NULL; + } + + g_object_unref(g_object_ref_sink(speller)); + speller = NULL; } #endif