aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--calendar/ChangeLog10
-rw-r--r--calendar/gui/e-itip-control.c24
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: