aboutsummaryrefslogtreecommitdiffstats
path: root/my-evolution/e-summary-weather.c
diff options
context:
space:
mode:
Diffstat (limited to 'my-evolution/e-summary-weather.c')
-rw-r--r--my-evolution/e-summary-weather.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/my-evolution/e-summary-weather.c b/my-evolution/e-summary-weather.c
index 0b86471077..4b8105b31d 100644
--- a/my-evolution/e-summary-weather.c
+++ b/my-evolution/e-summary-weather.c
@@ -353,6 +353,7 @@ open_callback (GnomeVFSAsyncHandle *handle,
w->html = g_strdup ("<dd> </dd>");
}
+ w->handle = NULL;
e_summary_draw (w->summary);
return;
}
@@ -590,6 +591,7 @@ e_summary_weather_set_online (ESummary *summary,
void *data)
{
ESummaryWeather *weather;
+ GList *p;
weather = summary->weather;
if (weather->online == online) {
@@ -602,6 +604,16 @@ e_summary_weather_set_online (ESummary *summary,
(GtkFunction) e_summary_weather_update,
summary);
} else {
+ for (p = weather->weathers; p; p = p->next) {
+ Weather *w;
+
+ w = p->data;
+ if (w->handle) {
+ gnome_vfs_async_cancel (w->handle);
+ w->handle = NULL;
+ }
+ }
+
gtk_timeout_remove (weather->timeout);
weather->timeout = 0;
}