diff options
-rw-r--r-- | addressbook/ChangeLog | 6 | ||||
-rw-r--r-- | addressbook/gui/component/addressbook-component.c | 12 |
2 files changed, 16 insertions, 2 deletions
diff --git a/addressbook/ChangeLog b/addressbook/ChangeLog index 301c492dcf..f7ab9730b6 100644 --- a/addressbook/ChangeLog +++ b/addressbook/ChangeLog @@ -1,5 +1,11 @@ 2001-10-20 Christopher James Lahey <clahey@ximian.com> + * gui/component/addressbook-component.c (owner_unset_cb): + Repeatedly call gtk_main_quit here as long as there is a main loop + around. This is an ugly hack around Ximian bug #11760. + +2001-10-20 Christopher James Lahey <clahey@ximian.com> + * gui/component/select-names/e-select-names.c: Added #include <gal/widgets/e-unicode.h>. diff --git a/addressbook/gui/component/addressbook-component.c b/addressbook/gui/component/addressbook-component.c index b9f0a57e27..c0f834f08c 100644 --- a/addressbook/gui/component/addressbook-component.c +++ b/addressbook/gui/component/addressbook-component.c @@ -264,14 +264,22 @@ owner_set_cb (EvolutionShellComponent *shell_component, addressbook_storage_setup (shell_component, evolution_homedir); } +static gboolean +gtk_main_quit_cb (gpointer closure) +{ + gtk_main_quit (); + return TRUE; +} + static void owner_unset_cb (EvolutionShellComponent *shell_component, GNOME_Evolution_Shell shell_interface, gpointer user_data) { owner_count --; - if (owner_count == 0) - gtk_main_quit(); + if (owner_count == 0) { + g_idle_add (gtk_main_quit_cb, NULL); + } } /* FIXME We should perhaps take the time to figure out if the book is editable. */ |