aboutsummaryrefslogtreecommitdiffstats
path: root/my-evolution/e-summary.c
diff options
context:
space:
mode:
authorIain Holmes <iain@src.gnome.org>2001-07-12 03:08:53 +0800
committerIain Holmes <iain@src.gnome.org>2001-07-12 03:08:53 +0800
commit76d4c1fa56ec4c02d68ad39ac847890936a4c098 (patch)
treeb3f2f7881d6bd7a97ea4dd11d47e8b1fbfbeb835 /my-evolution/e-summary.c
parent127cae25a2bcb06343cda67831bcbb851cd56dad (diff)
downloadgsoc2013-evolution-76d4c1fa56ec4c02d68ad39ac847890936a4c098.tar.gz
gsoc2013-evolution-76d4c1fa56ec4c02d68ad39ac847890936a4c098.tar.zst
gsoc2013-evolution-76d4c1fa56ec4c02d68ad39ac847890936a4c098.zip
Free the data stop all the transfers when the summary is destroyed.
svn path=/trunk/; revision=11010
Diffstat (limited to 'my-evolution/e-summary.c')
-rw-r--r--my-evolution/e-summary.c39
1 files changed, 36 insertions, 3 deletions
diff --git a/my-evolution/e-summary.c b/my-evolution/e-summary.c
index db9257f8f1..db43067a17 100644
--- a/my-evolution/e-summary.c
+++ b/my-evolution/e-summary.c
@@ -97,6 +97,22 @@ destroy (GtkObject *object)
return;
}
+ if (summary->mail) {
+ e_summary_mail_free (summary);
+ }
+ if (summary->calendar) {
+ e_summary_calendar_free (summary);
+ }
+ if (summary->rdf) {
+ e_summary_rdf_free (summary);
+ }
+ if (summary->weather) {
+ e_summary_weather_free (summary);
+ }
+ if (summary->tasks) {
+ e_summary_tasks_free (summary);
+ }
+
g_free (priv);
summary->priv = NULL;
@@ -112,6 +128,9 @@ e_summary_draw (ESummary *summary)
char date[256];
time_t t;
+ g_return_if_fail (summary != NULL);
+ g_return_if_fail (IS_E_SUMMARY (summary));
+
if (summary->mail == NULL || summary->calendar == NULL
|| summary->rdf == NULL || summary->weather == NULL) {
return;
@@ -260,8 +279,6 @@ e_summary_url_clicked (GtkHTML *html,
char *protocol, *protocol_end;
ProtocolListener *protocol_listener;
- g_print ("URL: %s\n", url);
-
protocol_end = strchr (url, ':');
if (protocol_end == NULL) {
/* No url, let gnome work it out */
@@ -270,7 +287,6 @@ e_summary_url_clicked (GtkHTML *html,
}
protocol = g_strndup (url, protocol_end - url);
- g_print ("Protocol: %s.\n", protocol);
protocol_listener = g_hash_table_lookup (summary->priv->protocol_hash,
protocol);
@@ -686,3 +702,20 @@ e_summary_add_online_connection (ESummary *summary,
summary->priv->connections = g_list_prepend (summary->priv->connections,
connection);
}
+
+void
+e_summary_remove_online_connection (ESummary *summary,
+ ESummaryConnection *connection)
+{
+ GList *p;
+
+ g_return_if_fail (summary != NULL);
+ g_return_if_fail (IS_E_SUMMARY (summary));
+ g_return_if_fail (connection != NULL);
+
+ p = g_list_find (summary->priv->connections, connection);
+ g_return_if_fail (p != NULL);
+
+ summary->priv->connections = g_list_remove_link (summary->priv->connections, p);
+ g_list_free (p);
+}