From 73abdc0d336211b692701759b7017fcc2da9eb77 Mon Sep 17 00:00:00 2001 From: hiro Date: Fri, 12 Feb 2010 07:55:56 +0000 Subject: compose_change_spell_lang_menu(): force selection of currently selected item to update compose->spell_lang. git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@2473 ee746299-78ed-0310-b773-934348b2243d --- src/compose.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'src/compose.c') diff --git a/src/compose.c b/src/compose.c index 84cd2a5f..f6a3b9c9 100644 --- a/src/compose.c +++ b/src/compose.c @@ -6016,6 +6016,7 @@ static void compose_set_spell_lang_menu(Compose *compose) static void compose_change_spell_lang_menu(Compose *compose, const gchar *lang) { GtkWidget *menu; + GtkWidget *def_item = NULL; GList *cur_item; const gchar *dict; @@ -6025,13 +6026,21 @@ static void compose_change_spell_lang_menu(Compose *compose, const gchar *lang) menu = gtk_menu_item_get_submenu(GTK_MENU_ITEM(compose->spell_menu)); for (cur_item = GTK_MENU_SHELL(menu)->children; cur_item != NULL; cur_item = cur_item->next) { + if (gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(cur_item->data))) + def_item = GTK_WIDGET(cur_item->data); dict = g_object_get_data(G_OBJECT(cur_item->data), "spell-lang"); if (dict && !g_ascii_strcasecmp(dict, lang)) { gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM(cur_item->data), TRUE); - break; + return; } } + + if (def_item) { + gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(def_item), + TRUE); + compose_set_spell_lang_cb(def_item, compose); + } } #endif /* USE_GTKSPELL */ -- cgit v1.2.3