aboutsummaryrefslogtreecommitdiffstats
path: root/shell/evolution-activity-client.c
diff options
context:
space:
mode:
authorEttore Perazzoli <ettore@src.gnome.org>2001-07-31 10:39:38 +0800
committerEttore Perazzoli <ettore@src.gnome.org>2001-07-31 10:39:38 +0800
commit360b921ac3964fde6a4ff4314095f27aac6b9c42 (patch)
tree616bba204ed67a38bb6e381de344c749346bff2d /shell/evolution-activity-client.c
parentc3b719182a6d2fbf8aff69ce9383fccd4b0a6a72 (diff)
downloadgsoc2013-evolution-360b921ac3964fde6a4ff4314095f27aac6b9c42.tar.gz
gsoc2013-evolution-360b921ac3964fde6a4ff4314095f27aac6b9c42.tar.zst
gsoc2013-evolution-360b921ac3964fde6a4ff4314095f27aac6b9c42.zip
[This should fix #5110, shell crash when switching folders.]
* evolution-activity-client.c (update_timeout_callback): Set the `have_pending_update' flag before doing the CORBA call. (evolution_activity_client_update): Set the timeout before doing the CORBA call. svn path=/trunk/; revision=11498
Diffstat (limited to 'shell/evolution-activity-client.c')
-rw-r--r--shell/evolution-activity-client.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/shell/evolution-activity-client.c b/shell/evolution-activity-client.c
index 3846719cc7..696561f78d 100644
--- a/shell/evolution-activity-client.c
+++ b/shell/evolution-activity-client.c
@@ -194,8 +194,8 @@ update_timeout_callback (void *data)
DEBUG ();
if (priv->have_pending_update) {
- corba_update_progress (activity_client, priv->new_information, priv->new_progress);
priv->have_pending_update = FALSE;
+ corba_update_progress (activity_client, priv->new_information, priv->new_progress);
return TRUE;
} else {
priv->next_update_timeout_id = 0;
@@ -436,15 +436,15 @@ evolution_activity_client_update (EvolutionActivityClient *activity_client,
/* There is no pending timeout, so the last CORBA update
happened more than UPDATE_DELAY msecs ago. */
- retval = corba_update_progress (activity_client, information, progress);
-
- /* Set up a timeout so we can check against it at the next
- update request. */
+ /* First of all, we set up a timeout so we can check against it
+ at the next update request. */
priv->next_update_timeout_id = g_timeout_add (UPDATE_DELAY,
update_timeout_callback,
activity_client);
+ retval = corba_update_progress (activity_client, information, progress);
+
g_print ("*** ActivityClient: g_timeout_add %d %p [%ld]\n",
priv->next_update_timeout_id, activity_client, (long) pthread_self ());