diff options
-rw-r--r-- | calendar/ChangeLog | 10 | ||||
-rw-r--r-- | calendar/gui/e-itip-control.c | 24 |
2 files changed, 24 insertions, 10 deletions
diff --git a/calendar/ChangeLog b/calendar/ChangeLog index 509487247d..b062cceb01 100644 --- a/calendar/ChangeLog +++ b/calendar/ChangeLog @@ -1,3 +1,13 @@ +2003-04-16 JP Rosevear <jpr@ximian.com> + + Fixes #41230 + + * gui/e-itip-control.c (show_current): make sure to pass TRUE for + tasks + (start_calendar_server): make sure we don't gtk_main_quit if we + haven't gtk_main'ed + (start_calendar_server_cb): ditto + 2003-04-15 JP Rosevear <jpr@ximian.com> Fixes #39735 and 40257 diff --git a/calendar/gui/e-itip-control.c b/calendar/gui/e-itip-control.c index ac04a13042..2ca28f056b 100644 --- a/calendar/gui/e-itip-control.c +++ b/calendar/gui/e-itip-control.c @@ -139,32 +139,36 @@ start_calendar_server_cb (CalClient *cal_client, CalClientOpenStatus status, gpointer data) { - gboolean *success = data; - + int *success = data; + int orig = *success; + if (status == CAL_CLIENT_OPEN_SUCCESS) - *success = TRUE; + *success = 1; else - *success = FALSE; + *success = 0; - gtk_main_quit (); /* end the sub event loop */ + if (orig != -1) + gtk_main_quit (); /* end the sub event loop */ } static CalClient * start_calendar_server (EItipControl *itip, char *uri) { CalClient *client; - gboolean success = FALSE; + int success = -1; client = cal_client_new (); g_signal_connect (client, "cal_opened", G_CALLBACK (start_calendar_server_cb), &success); - if (!cal_client_open_calendar (client, uri, TRUE)) + if (!cal_client_open_calendar (client, uri, TRUE)) goto error; /* run a sub event loop to turn cal-client's async load notification into a synchronous call */ - if (!itip->priv->destroyed) { + if (success == -1 && !itip->priv->destroyed) { + success = 0; + gtk_signal_connect (GTK_OBJECT (itip), "destroy", gtk_main_quit, NULL); @@ -174,7 +178,7 @@ start_calendar_server (EItipControl *itip, char *uri) gtk_main_quit, NULL); } - if (success) + if (success == 1) return client; error: @@ -1594,7 +1598,7 @@ show_current (EItipControl *itip) break; case CAL_COMPONENT_TODO: if (!priv->task_clients) - priv->task_clients = get_servers (itip, global_shell_client, tasks_types, FALSE); + priv->task_clients = get_servers (itip, global_shell_client, tasks_types, TRUE); show_current_todo (itip); break; case CAL_COMPONENT_FREEBUSY: |