aboutsummaryrefslogtreecommitdiffstats
path: root/calendar/gui/e-itip-control.c
diff options
context:
space:
mode:
authorJP Rosevear <jpr@ximian.com>2003-04-17 03:54:32 +0800
committerJP Rosevear <jpr@src.gnome.org>2003-04-17 03:54:32 +0800
commitfb510056e98c19c20819eb205d39348232968405 (patch)
tree66021e8ef4f91950eb5a2e5f71d024f0ceee699e /calendar/gui/e-itip-control.c
parent6cf8e5e2f4577e21d9cd16804c3f7c41e664fa99 (diff)
downloadgsoc2013-evolution-fb510056e98c19c20819eb205d39348232968405.tar.gz
gsoc2013-evolution-fb510056e98c19c20819eb205d39348232968405.tar.zst
gsoc2013-evolution-fb510056e98c19c20819eb205d39348232968405.zip
Fixes #41230
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 svn path=/trunk/; revision=20868
Diffstat (limited to 'calendar/gui/e-itip-control.c')
-rw-r--r--calendar/gui/e-itip-control.c24
1 files changed, 14 insertions, 10 deletions
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: