diff options
author | Ettore Perazzoli <ettore@src.gnome.org> | 2001-07-31 10:39:38 +0800 |
---|---|---|
committer | Ettore Perazzoli <ettore@src.gnome.org> | 2001-07-31 10:39:38 +0800 |
commit | 360b921ac3964fde6a4ff4314095f27aac6b9c42 (patch) | |
tree | 616bba204ed67a38bb6e381de344c749346bff2d | |
parent | c3b719182a6d2fbf8aff69ce9383fccd4b0a6a72 (diff) | |
download | gsoc2013-evolution-360b921ac3964fde6a4ff4314095f27aac6b9c42.tar gsoc2013-evolution-360b921ac3964fde6a4ff4314095f27aac6b9c42.tar.gz gsoc2013-evolution-360b921ac3964fde6a4ff4314095f27aac6b9c42.tar.bz2 gsoc2013-evolution-360b921ac3964fde6a4ff4314095f27aac6b9c42.tar.lz gsoc2013-evolution-360b921ac3964fde6a4ff4314095f27aac6b9c42.tar.xz 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
-rw-r--r-- | shell/ChangeLog | 9 | ||||
-rw-r--r-- | shell/evolution-activity-client.c | 10 |
2 files changed, 14 insertions, 5 deletions
diff --git a/shell/ChangeLog b/shell/ChangeLog index ee1807db41..1df13d080f 100644 --- a/shell/ChangeLog +++ b/shell/ChangeLog @@ -1,3 +1,12 @@ +2001-07-30 Ettore Perazzoli <ettore@ximian.com> + + [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. + 2001-07-30 Jason Leach <jleach@ximian.com> * e-shortcuts-view.c (rename_group_cb): Remember the current group 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 ()); |