[evolution-rss] fix notification on older evolution version



commit 0df5d0de98f88f57fdc8501c0670df6c0d53a8f5
Author: Lucian Langa <lucilanga gnome org>
Date:   Thu Jun 3 17:49:50 2010 +0300

    fix notification on older evolution version

 src/notification.c |   47 ++++++++++++++++++++++++++++++-----------------
 src/notification.h |    4 ----
 src/rss.c          |   41 +++++++++++++++--------------------------
 3 files changed, 45 insertions(+), 47 deletions(-)
---
diff --git a/src/notification.c b/src/notification.c
index 679b424..9f50162 100644
--- a/src/notification.c
+++ b/src/notification.c
@@ -336,37 +336,50 @@ taskbar_op_set_progress(gchar *key, gchar *msg, gdouble progress)
 	}
 }
 
-#if (EVOLUTION_VERSION >= 22900) //kb//
 void
-taskbar_op_finish(EActivity *id)
+taskbar_op_finish(gchar *key)
 {
+#if (EVOLUTION_VERSION >= 22900) //kb//
+	EActivity *aid = NULL;
 	EActivity *activity_key;
-	if (id == NULL) {
+#else
+	guint aid = NULL;
+	guint activity_key;
+	EActivityHandler *activity_handler;
+#endif
+	if (key) {
+#if (EVOLUTION_VERSION >= 22900) //kb//
+		aid = (EActivity *)g_hash_table_lookup(rf->activity, key);
+#else
+		aid = (guint)g_hash_table_lookup(rf->activity, key);
+#endif
+	}
+	if (aid == NULL) {
+#if (EVOLUTION_VERSION >= 22900) //kb//
+		activity_key = g_hash_table_lookup(rf->activity, "main");
+#else
 		activity_key = g_hash_table_lookup(rf->activity, "main");
+#endif
 		if (activity_key) {
 			dp("activity_key:%p\n", activity_key);
+#if (EVOLUTION_VERSION >= 22900) //kb//
 			e_activity_complete (activity_key);
+#else
+			e_activity_handler_operation_finished(activity_handler, activity_key);
+#endif
 			g_hash_table_remove(rf->activity, "main");
 		}
 	} else {
-		e_activity_complete (id);
-		g_hash_table_remove(rf->activity, id);
-	}
-}
+#if (EVOLUTION_VERSION >= 22900) //kb//
+		e_activity_complete (aid);
 #else
-void
-taskbar_op_finish(gchar *key)
-{
-	EActivityHandler *activity_handler = mail_component_peek_activity_handler (mail_component_peek ());
-	if (rf->activity) {
-		guint activity_key = GPOINTER_TO_INT(g_hash_table_lookup(rf->activity, key));
-		g_print("activity_key:%p\n", activity_key);
-		if (activity_key)
-			e_activity_handler_operation_finished(activity_handler, activity_key);
+		activity_handler = mail_component_peek_activity_handler (
+					mail_component_peek ());
+		e_activity_handler_operation_finished(activity_handler, aid);
+#endif
 		g_hash_table_remove(rf->activity, key);
 	}
 }
-#endif
 
 #if (EVOLUTION_VERSION >= 22900) //kb//
 EActivity*
diff --git a/src/notification.h b/src/notification.h
index 40705ee..c1e44c0 100644
--- a/src/notification.h
+++ b/src/notification.h
@@ -25,11 +25,7 @@ taskbar_op_message(gchar *msg, gchar *unikey);
 #endif
 void taskbar_op_abort(gpointer key);
 void taskbar_op_set_progress(gchar *key, gchar *msg, gdouble progress);
-#if (EVOLUTION_VERSION >= 22900) //kb//
-void taskbar_op_finish(EActivity *id);
-#else
 void taskbar_op_finish(gchar *key);
-#endif
 void taskbar_push_message(gchar *message);
 void taskbar_pop_message(void);
 
diff --git a/src/rss.c b/src/rss.c
index 0f62e79..13c0604 100644
--- a/src/rss.c
+++ b/src/rss.c
@@ -219,9 +219,9 @@ SoupCookieJar *rss_soup_jar;
 #endif
 extern guint rsserror;
 gboolean single_pending = FALSE;
-//#if EVOLUTION_VERSION >= 22900
-//extern CamelSession *session;
-//#endif
+#if EVOLUTION_VERSION < 22900
+extern CamelSession *session;
+#endif
 
 rssfeed *rf = NULL;
 guint upgrade = 0;	// set to 2 when initailization successfull
@@ -1369,21 +1369,21 @@ webkit_over_link(WebKitWebView *web_view,
 }
 
 static void
-embed_zoom_in_cb (EShellView *shell,
+embed_zoom_in_cb (GtkWidget *w,
 			gpointer *data)
 {
 	webkit_web_view_zoom_in((WebKitWebView*)rf->mozembed);
 }
 
 static void
-embed_zoom_out_cb (EShellView *shell,
+embed_zoom_out_cb (GtkWidget *w,
 			gpointer *data)
 {
 	webkit_web_view_zoom_out((WebKitWebView *)rf->mozembed);
 }
 
 static void
-embed_zoom_100_cb (EShellView *shell,
+embed_zoom_100_cb (GtkWidget *w,
 			gpointer *data)
 {
 	webkit_web_view_set_zoom_level((WebKitWebView *)rf->mozembed, 1);
@@ -1427,6 +1427,7 @@ void webkit_hook_actions(void);
 void
 webkit_hook_actions(void)
 {
+#if EVOLUTION_VERSION >= 22900
 	EShellWindow *shell_window;
 	GtkAction *action;
 	const char *action_name;
@@ -1448,6 +1449,7 @@ webkit_hook_actions(void)
 	g_signal_connect (
 		action, "activate",
 		G_CALLBACK (embed_zoom_100_cb), NULL);
+#endif
 }
 
 #if 0
@@ -2518,7 +2520,7 @@ void org_gnome_cooly_folder_refresh(void *ep, EShellView *shell_view)
 		taskid = taskbar_op_message(name, key);
 		network_timeout();
 		if (!fetch_one_feed(fname, key, statuscb))
-			taskbar_op_finish(taskid);
+			taskbar_op_finish(g_strdup(key));
 		single_pending = FALSE;
 	}
 	g_free(name);
@@ -2791,7 +2793,7 @@ prepare_hashes(void)
 		rf->activity = g_hash_table_new_full(
 					g_str_hash,
 					g_str_equal,
-					NULL, NULL);
+					g_free, NULL);
 	if (!rf->error_hash)	//keeping trask of taskbar errors
 		rf->error_hash = g_hash_table_new_full(
 					g_str_hash,
@@ -2832,11 +2834,6 @@ finish_setup_feed(
 	gchar *tmsgkey;
 	GError *err = NULL;
 	gchar *tmsg = feed->tmsg;
-#if (EVOLUTION_VERSION >= 22900) //kb//
-	EActivity *aid;
-#else
-	guint aid;
-#endif
 	gpointer crc_feed = gen_md5(feed->feed_url);
 
 	if (rf->cancel_all || rf->import_cancel)
@@ -3096,9 +3093,7 @@ out:	rf->pending = FALSE;
 		void (*f)() = (GFunc)feed->ok;
 		f(feed->ok_arg);
 	}
-	aid = g_hash_table_lookup(rf->activity, crc_feed);
-	taskbar_op_finish(aid);
-	g_free(crc_feed);
+	taskbar_op_finish(crc_feed); //g_free
 	g_free(feed->feed_url);
 	if (feed->feed_name) g_free(feed->feed_name);
 	if (feed->prefix) g_free(feed->prefix);
@@ -3213,10 +3208,7 @@ generic_finish_feed(rfMessage *msg, gpointer user_data)
 	gboolean deleted = 0;
 	GString *response;
 	RDF *r;
-#if (EVOLUTION_VERSION >= 22900) //kb//
-	EActivity *aid;
-#else
-	guint aid;
+#if (EVOLUTION_VERSION < 22900)
 	MailComponent *mc = mail_component_peek ();
 #endif
 
@@ -3249,8 +3241,7 @@ generic_finish_feed(rfMessage *msg, gpointer user_data)
 
 	if (rf->feed_queue == 0) {
 		d("taskbar_op_finish()\n");
-		aid = g_hash_table_lookup(rf->activity, key);
-		taskbar_op_finish(aid);
+		taskbar_op_finish(g_strdup(key));
 		taskbar_op_finish(NULL);
 		rf->autoupdate = FALSE;
 		farticle=0;
@@ -3328,8 +3319,7 @@ generic_finish_feed(rfMessage *msg, gpointer user_data)
 			if (rf->info->data->gd)
 				gtk_widget_destroy((GtkWidget *)rf->info->data->gd);
 		}
-		aid = g_hash_table_lookup(rf->activity, key);
-		taskbar_op_finish(aid);
+		taskbar_op_finish(g_strdup(key));
 		taskbar_op_finish(NULL);
 		//clean data that might hang on rf struct
 		rf->sr_feed = NULL;
@@ -3445,8 +3435,7 @@ generic_finish_feed(rfMessage *msg, gpointer user_data)
 			if (rf->info->data->gd)
 				gtk_widget_destroy((GtkWidget *)rf->info->data->gd);
 		}
-		aid = g_hash_table_lookup(rf->activity, key);
-		taskbar_op_finish(aid);
+		taskbar_op_finish(g_strdup(key));
 		taskbar_op_finish(NULL);
 		//clean data that might hang on rf struct
 		rf->sr_feed = NULL;



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]