diff options
author | Jon Trowbridge <trow@ximian.com> | 2001-11-09 01:31:40 +0800 |
---|---|---|
committer | Jon Trowbridge <trow@src.gnome.org> | 2001-11-09 01:31:40 +0800 |
commit | 12323a556d88c4e49cd80524f1e6cb29e9f54d1e (patch) | |
tree | 908e2fad16ecbc23ab15e3e0346b4958ae4aa3bc /addressbook/gui/component | |
parent | 335e0c6bf698d999d811894ce75aa9b87a6106e4 (diff) | |
download | gsoc2013-evolution-12323a556d88c4e49cd80524f1e6cb29e9f54d1e.tar.gz gsoc2013-evolution-12323a556d88c4e49cd80524f1e6cb29e9f54d1e.tar.zst gsoc2013-evolution-12323a556d88c4e49cd80524f1e6cb29e9f54d1e.zip |
Explicitly destroy entries. Part of the fix for the lingering completion
2001-11-08 Jon Trowbridge <trow@ximian.com>
* gui/component/select-names/e-select-names-bonobo.c
(impl_destroy): Explicitly destroy entries. Part of the fix for
the lingering completion window bug.
svn path=/trunk/; revision=14628
Diffstat (limited to 'addressbook/gui/component')
-rw-r--r-- | addressbook/gui/component/select-names/e-select-names-bonobo.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/addressbook/gui/component/select-names/e-select-names-bonobo.c b/addressbook/gui/component/select-names/e-select-names-bonobo.c index a3f4929fa6..071b2e0b2b 100644 --- a/addressbook/gui/component/select-names/e-select-names-bonobo.c +++ b/addressbook/gui/component/select-names/e-select-names-bonobo.c @@ -348,11 +348,18 @@ impl_SelectNames_activate_dialog (PortableServer_Servant servant, /* GtkObject methods. */ +/* ACK! */ +typedef struct { + char *id; + EEntry *entry; +} ESelectNamesManagerEntry; + static void impl_destroy (GtkObject *object) { ESelectNamesBonobo *select_names; ESelectNamesBonoboPrivate *priv; + EIterator *iterator; select_names = E_SELECT_NAMES_BONOBO (object); priv = select_names->priv; @@ -361,6 +368,15 @@ impl_destroy (GtkObject *object) gtk_widget_destroy (GTK_WIDGET (priv->manager->names)); priv->manager->names = NULL; } + + /* More suckage */ + iterator = e_list_get_iterator (priv->manager->entries); + for (e_iterator_reset (iterator); e_iterator_is_valid (iterator); e_iterator_next (iterator)) { + ESelectNamesManagerEntry *entry = (ESelectNamesManagerEntry *)e_iterator_get (iterator); + if (entry && entry->entry) + gtk_widget_destroy (GTK_WIDGET (entry->entry)); + } + gtk_object_unref (GTK_OBJECT (iterator)); /* FIXME: We leak on purpose. This sucks. */ /* gtk_object_unref (GTK_OBJECT (priv->manager)); */ |