aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--addressbook/ChangeLog7
-rw-r--r--addressbook/gui/component/select-names/e-select-names.c5
2 files changed, 12 insertions, 0 deletions
diff --git a/addressbook/ChangeLog b/addressbook/ChangeLog
index 67fe85a26a..4d00f11361 100644
--- a/addressbook/ChangeLog
+++ b/addressbook/ChangeLog
@@ -1,3 +1,10 @@
+2001-07-11 Jason Leach <jleach@ximian.com>
+
+ * gui/component/select-names/e-select-names.c (remove_cb): Added
+ some comments for clarity and fixed a pretty noticable bug with
+ how right click "Remove" was deleting more than it should with
+ consecutive runs.
+
2001-07-10 Chris Toshok <toshok@ximian.com>
* backend/pas/evolutionperson.schema: assign OID's to the schema
diff --git a/addressbook/gui/component/select-names/e-select-names.c b/addressbook/gui/component/select-names/e-select-names.c
index efa5a13102..1004e510a5 100644
--- a/addressbook/gui/component/select-names/e-select-names.c
+++ b/addressbook/gui/component/select-names/e-select-names.c
@@ -595,15 +595,20 @@ remove_cb (GtkWidget *widget, void *data)
{
RightClickData *rcdata = (RightClickData *)data;
+ /* Build a list of selected rows */
e_table_selected_row_foreach (rcdata->table,
etable_selection_foreach_cb,
rcdata->child);
+ /* Now process the list we made, removing each selected row */
g_slist_foreach (selected_rows,
(GFunc)selected_rows_foreach_cb,
rcdata->child);
+ /* Free everything we've created */
g_free (rcdata);
+ g_slist_free (selected_rows);
+ selected_rows = NULL;
}
static void