diff options
author | Dan Winship <danw@src.gnome.org> | 2000-12-07 07:03:49 +0800 |
---|---|---|
committer | Dan Winship <danw@src.gnome.org> | 2000-12-07 07:03:49 +0800 |
commit | 6dc395e2641eb93323879e9dac7980d27a8ba878 (patch) | |
tree | d626624d21ba437736704f8e5fa6ed532979a01a /mail/mail-threads.c | |
parent | b5391901dc37d1b01006b389fdd0325a5b2446fa (diff) | |
download | gsoc2013-evolution-6dc395e2641eb93323879e9dac7980d27a8ba878.tar gsoc2013-evolution-6dc395e2641eb93323879e9dac7980d27a8ba878.tar.gz gsoc2013-evolution-6dc395e2641eb93323879e9dac7980d27a8ba878.tar.bz2 gsoc2013-evolution-6dc395e2641eb93323879e9dac7980d27a8ba878.tar.lz gsoc2013-evolution-6dc395e2641eb93323879e9dac7980d27a8ba878.tar.xz gsoc2013-evolution-6dc395e2641eb93323879e9dac7980d27a8ba878.tar.zst gsoc2013-evolution-6dc395e2641eb93323879e9dac7980d27a8ba878.zip |
Fix up shutdown so that things that should be destroyed get
destroyed. Among other things, this fixes the bug where IMAP
stores weren't disconnected at shutdown.
* mail-threads.c (update_active_views): Update for
folder_browser_factory_get_control_list change to EList.
* folder-browser-factory.c: Turn control_list into an EList so
that we can safely remove items from it while it's being iterated
(which will happen as FolderBrowsers are destroyed at shutdown
while the thread code is trying to update the status bars).
(control_destroy_cb): Just destroy the folder_browser.
(browser_destroy_cb): New callback for FolderBrowser destroy.
Remove the control from control_list here instead of
control_destroy_cb, because the controls don't seem to get
destroyed reliably...
* component-factory.c: Clean up stuff.
(factory_destroy): Get rid of this.
(owner_unset_cb): Schedule an idle handler to quit.
(idle_quit): Wait for all of the FolderBrowsers to be destroyed
and then destroy the storages and quit.
svn path=/trunk/; revision=6830
Diffstat (limited to 'mail/mail-threads.c')
-rw-r--r-- | mail/mail-threads.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/mail/mail-threads.c b/mail/mail-threads.c index 6491a936c5..4ded984dd4 100644 --- a/mail/mail-threads.c +++ b/mail/mail-threads.c @@ -1081,16 +1081,16 @@ retrieve_shell_view_interface_from_control (BonoboControl *control) static void update_active_views (void) { - GList *controls; - GList *p; + EList *controls; + EIterator *it; controls = folder_browser_factory_get_control_list (); - for (p = controls; p != NULL; p = p->next) { + for (it = e_list_get_iterator (controls); e_iterator_is_valid (it); e_iterator_next (it)) { BonoboControl *control; GNOME_Evolution_ShellView shell_view_interface; CORBA_Environment ev; - control = BONOBO_CONTROL (p->data); + control = BONOBO_CONTROL (e_iterator_get (it)); shell_view_interface = gtk_object_get_data (GTK_OBJECT (control), "mail_threads_shell_view_interface"); |