aboutsummaryrefslogtreecommitdiffstats
path: root/addressbook/gui/widgets/e-addressbook-table-adapter.c
diff options
context:
space:
mode:
authorChris Toshok <toshok@ximian.com>2001-06-20 08:45:48 +0800
committerChris Toshok <toshok@src.gnome.org>2001-06-20 08:45:48 +0800
commit649bc025dbf8807ab001c874a3f53de1d1826e5b (patch)
tree10c54b2bd7d29345b72feb13543368003cd404ab /addressbook/gui/widgets/e-addressbook-table-adapter.c
parent68a1984433b5b8597ea7cf99fc2417a30dc2d89d (diff)
downloadgsoc2013-evolution-649bc025dbf8807ab001c874a3f53de1d1826e5b.tar
gsoc2013-evolution-649bc025dbf8807ab001c874a3f53de1d1826e5b.tar.gz
gsoc2013-evolution-649bc025dbf8807ab001c874a3f53de1d1826e5b.tar.bz2
gsoc2013-evolution-649bc025dbf8807ab001c874a3f53de1d1826e5b.tar.lz
gsoc2013-evolution-649bc025dbf8807ab001c874a3f53de1d1826e5b.tar.xz
gsoc2013-evolution-649bc025dbf8807ab001c874a3f53de1d1826e5b.tar.zst
gsoc2013-evolution-649bc025dbf8807ab001c874a3f53de1d1826e5b.zip
track change to e_addressbook_show_contact_editor signature.
2001-06-19 Chris Toshok <toshok@ximian.com> * gui/widgets/e-addressbook-view.c (table_double_click): track change to e_addressbook_show_contact_editor signature. * gui/widgets/e-minicard-view.c (e_minicard_view_event): same. * gui/widgets/e-minicard.c (e_minicard_event): same. * gui/widgets/e-addressbook-util.c (e_addressbook_error_dialog): add an entry for "Card ID already exists". (e_addressbook_show_contact_editor): track the change to signal names and e_contact_editor_new signature here. * gui/widgets/e-addressbook-util.h: change e_addressbook_show_contact_editor's signature to match e_contact_editor_new more closely. * gui/widgets/e-addressbook-table-adapter.c (unlink_model): free up the simple mapping to plug a potentially sizeable memory leak. * gui/component/select-names/e-select-names-text-model.c (e_select_names_text_model_activate_obj): call e_addressbook_show_contact_editor here. * gui/component/select-names/e-select-names-popup.c (edit_contact_info_have_book_cb): remove the get_supported_fields stuff, since the contact editor handles it for us now, and call e_addressbook_show_contact_editor. * gui/component/e-address-popup.c (edit_contact_info_cb): same. * gui/component/addressbook.c (new_contact_cb): track change to e_addressbook_show_contact_editor. svn path=/trunk/; revision=10318
Diffstat (limited to 'addressbook/gui/widgets/e-addressbook-table-adapter.c')
-rw-r--r--addressbook/gui/widgets/e-addressbook-table-adapter.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/addressbook/gui/widgets/e-addressbook-table-adapter.c b/addressbook/gui/widgets/e-addressbook-table-adapter.c
index 38596fd0f0..b54b2bcea8 100644
--- a/addressbook/gui/widgets/e-addressbook-table-adapter.c
+++ b/addressbook/gui/widgets/e-addressbook-table-adapter.c
@@ -28,6 +28,7 @@ static void
unlink_model(EAddressbookTableAdapter *adapter)
{
EAddressbookTableAdapterPrivate *priv = adapter->priv;
+ int i;
gtk_signal_disconnect(GTK_OBJECT (priv->model),
priv->create_card_id);
@@ -43,6 +44,14 @@ unlink_model(EAddressbookTableAdapter *adapter)
priv->modify_card_id = 0;
priv->model_changed_id = 0;
+ /* free up the existing mapping if there is one */
+ if (priv->simples) {
+ for (i = 0; i < priv->count; i ++)
+ gtk_object_unref (GTK_OBJECT (priv->simples[i]));
+ g_free (priv->simples);
+ priv->simples = NULL;
+ }
+
gtk_object_unref(GTK_OBJECT(priv->model));
priv->model = NULL;