aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--addressbook/ChangeLog6
-rw-r--r--addressbook/gui/component/addressbook-component.c12
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. */