Revision: 21 http://geany-plugins.svn.sourceforge.net/geany-plugins/?rev=21&view=rev Author: eht16 Date: 2008-05-16 05:33:39 -0700 (Fri, 16 May 2008)
Log Message: ----------- Fix a big memory leak and don't use an unneeded array.
Modified Paths: -------------- trunk/spellcheck/ChangeLog trunk/spellcheck/src/spellcheck.c
Modified: trunk/spellcheck/ChangeLog =================================================================== --- trunk/spellcheck/ChangeLog 2008-05-16 12:20:08 UTC (rev 20) +++ trunk/spellcheck/ChangeLog 2008-05-16 12:33:39 UTC (rev 21) @@ -4,6 +4,8 @@ Post-release version bump. Display install location of the plugin binary and separately the location of other files like translations for clarity. + * src/spellcheck.c: + Fix a big memory leak and don't use an unneeded array.
2008-05-15 Enrico Tröger <enrico(dot)troeger(at)uvena(dot)de>
Modified: trunk/spellcheck/src/spellcheck.c =================================================================== --- trunk/spellcheck/src/spellcheck.c 2008-05-16 12:20:08 UTC (rev 20) +++ trunk/spellcheck/src/spellcheck.c 2008-05-16 12:33:39 UTC (rev 21) @@ -257,14 +257,13 @@ }
-static GArray *get_available_languages(void) +static void fill_dicts_combo(GtkComboBox *combo) { AspellConfig *config; AspellDictInfoList *dlist; AspellDictInfoEnumeration *dels; const AspellDictInfo *entry; - GArray *dicts = g_array_new(TRUE, TRUE, sizeof(gchar*)); - gchar *tmp; + guint i = 0;
config = new_aspell_config(); dlist = get_aspell_dict_info_list(config); @@ -273,28 +272,16 @@ dels = aspell_dict_info_list_elements(dlist); while ((entry = aspell_dict_info_enumeration_next(dels)) != 0) { - tmp = g_strdup(entry->name); - g_array_append_val(dicts, tmp); + gtk_combo_box_append_text(combo, entry->name); + + if (p_utils->str_equal(entry->name, language)) + gtk_combo_box_set_active(GTK_COMBO_BOX(combo), i); + i++; } delete_aspell_dict_info_enumeration(dels); - - return dicts; }
-static guint find_index(GArray *ar, const gchar *needle) -{ - guint i; - - for (i = 0; i < ar->len; i++) - { - if (p_utils->str_equal(g_array_index(ar, gchar*, i), needle)) - return i; - } - return 0; -} - - void init(GeanyData *data) { GtkWidget *sp_item; @@ -326,8 +313,6 @@ void configure(GtkWidget *parent) { GtkWidget *dialog, *label, *vbox, *combo; - GArray *dicts; - guint i;
dialog = gtk_dialog_new_with_buttons(_("Spell Check"), GTK_WINDOW(parent), GTK_DIALOG_DESTROY_WITH_PARENT, @@ -340,14 +325,9 @@ gtk_misc_set_alignment(GTK_MISC(label), 0, 0.5); gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0);
- dicts = get_available_languages(); combo = gtk_combo_box_new_text(); - for (i = 0; i < dicts->len; i++) - { - gtk_combo_box_append_text(GTK_COMBO_BOX(combo), g_array_index(dicts, gchar*, i)); - } + fill_dicts_combo(GTK_COMBO_BOX(combo));
- gtk_combo_box_set_active(GTK_COMBO_BOX(combo), find_index(dicts, language)); gtk_combo_box_set_wrap_width(GTK_COMBO_BOX(combo), 3); gtk_box_pack_start(GTK_BOX(vbox), combo, FALSE, FALSE, 0);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
plugins-commits@lists.geany.org