diff --git a/mail/evolution-plugin-rss/Makefile b/mail/evolution-plugin-rss/Makefile index bce2f16f072..2421e65a9e3 100644 --- a/mail/evolution-plugin-rss/Makefile +++ b/mail/evolution-plugin-rss/Makefile @@ -1,11 +1,11 @@ -# $OpenBSD: Makefile,v 1.28 2011/04/22 14:13:56 ajacoutot Exp $ +# $OpenBSD: Makefile,v 1.29 2011/04/22 15:57:19 ajacoutot Exp $ SHARED_ONLY= Yes COMMENT= RSS-reader plugin for GNOME GNOME_PROJECT= evolution-rss -GNOME_VERSION= 0.2.90 +GNOME_VERSION= 0.2.90.20110422 PKGNAME= evolution-plugin-rss-${GNOME_VERSION} CATEGORIES= mail @@ -67,7 +67,7 @@ CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include" \ FAKE_FLAGS+= itlocaledir="${PREFIX}/share/locale/" # XXX remove this chunk when updating to a 'real' release -# (using a homemade tarball with patches from upstream git and local changes) +# (current tarball created from git) MASTER_SITES= http://distfiles.bsdfrog.org/ BUILD_DEPENDS += x11/gnome/common \ ${MODGNU_AUTOMAKE_DEPENDS} \ @@ -76,7 +76,7 @@ USE_LIBTOOL= gnu CONFIGURE_STYLE= # empty do-configure: perl -pi -e 's,sed -i -e,perl -pi -e,g' ${WRKSRC}/src/Makefile.am - echo AC_PROG_LIBTOOL >> ${WRKSRC}/configure.ac + echo "\nAC_PROG_LIBTOOL" >> ${WRKSRC}/configure.ac @cd ${WRKSRC} && \ AUTOCONF_VERSION=${AUTOCONF_VERSION} \ AUTOMAKE_VERSION=${AUTOMAKE_VERSION} \ diff --git a/mail/evolution-plugin-rss/distinfo b/mail/evolution-plugin-rss/distinfo index cd27e53426c..530ff8ef7c3 100644 --- a/mail/evolution-plugin-rss/distinfo +++ b/mail/evolution-plugin-rss/distinfo @@ -1,5 +1,5 @@ -MD5 (evolution-rss-0.2.90.tar.gz) = P8KbNB45uzY+bjacPjKH2g== -RMD160 (evolution-rss-0.2.90.tar.gz) = m0vnPerGYD9jfmE593yksjEVvOU= -SHA1 (evolution-rss-0.2.90.tar.gz) = F9chzvNEhE4QM4BA6un4a7Bn5A4= -SHA256 (evolution-rss-0.2.90.tar.gz) = mX6L4b3IGtvSS5mbMG/8s7DSfu6efnN9Lh79faJlvtc= -SIZE (evolution-rss-0.2.90.tar.gz) = 313521 +MD5 (evolution-rss-0.2.90.20110422.tar.gz) = ohib3ndMiGvZj/rauJX4bg== +RMD160 (evolution-rss-0.2.90.20110422.tar.gz) = hplnBNHBPISYokRCGhIUqCIwT0g= +SHA1 (evolution-rss-0.2.90.20110422.tar.gz) = B+JBJg4/9h8zqsWHByUw5Q/goUg= +SHA256 (evolution-rss-0.2.90.20110422.tar.gz) = FHoI1TvwsNuL58Ew3ONfnNehfPVYYAkeM8JhTe9L2Pk= +SIZE (evolution-rss-0.2.90.20110422.tar.gz) = 2746382 diff --git a/mail/evolution-plugin-rss/patches/patch-src_network-soup_c b/mail/evolution-plugin-rss/patches/patch-src_network-soup_c new file mode 100644 index 00000000000..62398e497ce --- /dev/null +++ b/mail/evolution-plugin-rss/patches/patch-src_network-soup_c @@ -0,0 +1,35 @@ +$OpenBSD: patch-src_network-soup_c,v 1.1 2011/04/22 15:57:19 ajacoutot Exp $ + +Revert: +From 7d264518c2c6741e81842e7c4e6ba62f9f9a240b Mon Sep 17 00:00:00 2001 +From: Lucian Langa +Date: Fri, 28 Jan 2011 16:57:36 +0000 +Subject: allow to select feed location from properties menu + +--- src/network-soup.c.orig Fri Apr 22 17:16:21 2011 ++++ src/network-soup.c Fri Apr 22 17:17:52 2011 +@@ -800,7 +800,6 @@ net_get_unblocking(gchar *url, + /* Queue an async HTTP request */ + msg = soup_message_new ("GET", url); + if (!msg) { +- if (info) g_free(info); + g_set_error(err, NET_ERROR, NET_ERROR_GENERIC, "%s", + soup_status_get_phrase(2)); //invalid url + return FALSE; +@@ -848,8 +847,6 @@ net_get_unblocking(gchar *url, + //// g_object_add_weak_pointer (G_OBJECT(msg), (gpointer)info); + g_object_weak_ref (G_OBJECT(msg), unblock_free, soup_sess); + // g_object_weak_ref (G_OBJECT(soup_sess), unblock_free, soup_sess); +- if (mainurl) +- g_free(mainurl); + return TRUE; + } + +@@ -911,7 +908,6 @@ download_unblocking( + /* Queue an async HTTP request */ + msg = soup_message_new ("GET", url); + if (!msg) { +- g_free(info); + g_set_error(err, NET_ERROR, NET_ERROR_GENERIC, "%s", + soup_status_get_phrase(2)); //invalid url + return FALSE; diff --git a/mail/evolution-plugin-rss/patches/patch-src_notification_c b/mail/evolution-plugin-rss/patches/patch-src_notification_c new file mode 100644 index 00000000000..77f37f68433 --- /dev/null +++ b/mail/evolution-plugin-rss/patches/patch-src_notification_c @@ -0,0 +1,162 @@ +$OpenBSD: patch-src_notification_c,v 1.1 2011/04/22 15:57:19 ajacoutot Exp $ + +Revert: +From a5746a4876c30f7395eb21503e75ada094526183 Mon Sep 17 00:00:00 2001 +From: Lucian Langa +Date: Sat, 23 Oct 2010 06:46:00 +0000 +Subject: adapt to latest EActivity changes + +Revert: +From 8043acb7ff37009d9166a61f15ee0f4134b7f480 Mon Sep 17 00:00:00 2001 +From: Lucian Langa +Date: Wed, 19 Jan 2011 10:36:43 +0000 +Subject: Make fetch feed operation cancelable again + +--- src/notification.c.orig Fri Apr 22 16:16:03 2011 ++++ src/notification.c Fri Apr 22 17:05:29 2011 +@@ -23,6 +23,7 @@ + #include + #if (EVOLUTION_VERSION >= 22900) //kb// + #include ++#include + #include + #include + #else +@@ -202,11 +203,7 @@ taskbar_pop_message(void) + } + + void +-#if EVOLUTION_VERSION > 29102 +-taskbar_op_abort(CamelOperation *cancellable, gpointer key) +-#else + taskbar_op_abort(gpointer key) +-#endif + { + #if EVOLUTION_VERSION < 22900 //kb// + EActivityHandler *activity_handler = +@@ -217,13 +214,9 @@ taskbar_op_abort(gpointer key) + e_activity_handler_operation_finished( + activity_handler, + activity_key); +-#else +- EActivity *activity = g_hash_table_lookup(rf->activity, key); +- e_activity_set_state (activity, E_ACTIVITY_CANCELLED); ++#endif + g_hash_table_remove(rf->activity, key); +- g_object_unref(activity); + abort_all_soup(); +-#endif + } + + #if EVOLUTION_VERSION >= 22900 //kb// +@@ -244,7 +237,6 @@ taskbar_op_new(gchar *message, gpointer key) + EShell *shell; + EShellBackend *shell_backend; + EActivity *activity; +- GCancellable *cancellable; + #else + EActivityHandler *activity_handler; + char *mcp; +@@ -258,13 +250,9 @@ taskbar_op_new(gchar *message, gpointer key) + + #if EVOLUTION_VERSION >= 23300 + activity = e_activity_new (); +-#if (EVOLUTION_VERSION >= 29102) +- e_activity_set_text (activity, message); +-#else + e_activity_set_primary_text (activity, message); +-#endif +- cancellable = camel_operation_new (); +- e_activity_set_cancellable (activity, cancellable); ++ /* does this even makes sense */ ++ e_activity_set_cancellable (activity, NULL); + #else + activity = e_activity_new (message); + e_activity_set_allow_cancel (activity, TRUE); +@@ -273,10 +261,9 @@ taskbar_op_new(gchar *message, gpointer key) + e_shell_backend_add_activity (shell_backend, activity); + + g_signal_connect ( +- cancellable, "cancelled", ++ activity, "cancelled", + G_CALLBACK (taskbar_op_abort), + key); +- g_object_unref (cancellable); + return activity; + #else + activity_handler = +@@ -357,12 +344,7 @@ taskbar_op_finish(gchar *key) + if (activity_key) { + d("activity_key:%p\n", (gpointer)activity_key); + #if (EVOLUTION_VERSION >= 22900) //kb// +-#if (EVOLUTION_VERSION >= 29102) +- e_activity_set_state (activity_key, E_ACTIVITY_COMPLETED); +- g_object_unref(activity_key); +-#else + e_activity_complete (activity_key); +-#endif + #else + e_activity_handler_operation_finished(activity_handler, activity_key); + #endif +@@ -370,12 +352,7 @@ taskbar_op_finish(gchar *key) + } + } else { + #if (EVOLUTION_VERSION >= 22900) //kb// +-#if (EVOLUTION_VERSION >= 29102) +- e_activity_set_state (aid, E_ACTIVITY_COMPLETED); +- g_object_unref(aid); +-#else + e_activity_complete (aid); +-#endif + #else + e_activity_handler_operation_finished(activity_handler, aid); + #endif +@@ -395,12 +372,11 @@ taskbar_op_message(gchar *msg, gchar *unikey) + EActivity *activity_id; + #else + #endif +- if (!msg) { ++ if (!msg) + tmsg = g_strdup_printf( + _("Fetching Feeds (%d enabled)"), + g_hash_table_size(rf->hrname)); +- unikey = (gchar *)"main"; +- } else ++ else + tmsg = g_strdup(msg); + + #if (EVOLUTION_VERSION >= 22900) //kb// +@@ -408,20 +384,27 @@ taskbar_op_message(gchar *msg, gchar *unikey) + activity_id = + (EActivity *)taskbar_op_new( + tmsg, +- unikey); ++ (gchar *)"main"); + else + activity_id = + (EActivity *)taskbar_op_new(tmsg, msg); + #else + if (!msg) +- activity_id = taskbar_op_new(tmsg, unikey); ++ activity_id = taskbar_op_new(tmsg, (gchar *)"main"); + else + activity_id = taskbar_op_new(tmsg, msg); + #endif +- g_hash_table_insert( +- rf->activity, +- GUINT_TO_POINTER(unikey), +- GUINT_TO_POINTER(activity_id)); ++ if (!msg) ++ g_hash_table_insert( ++ rf->activity, ++ (gchar *)"main", ++ GUINT_TO_POINTER(activity_id)); ++ else ++ if (unikey) ++ g_hash_table_insert( ++ rf->activity, ++ GUINT_TO_POINTER(unikey), ++ GUINT_TO_POINTER(activity_id)); + g_free(tmsg); + return activity_id; + } diff --git a/mail/evolution-plugin-rss/patches/patch-src_parser_c b/mail/evolution-plugin-rss/patches/patch-src_parser_c new file mode 100644 index 00000000000..79607189365 --- /dev/null +++ b/mail/evolution-plugin-rss/patches/patch-src_parser_c @@ -0,0 +1,18 @@ +$OpenBSD: patch-src_parser_c,v 1.1 2011/04/22 15:57:19 ajacoutot Exp $ + +Revert: +From 7d264518c2c6741e81842e7c4e6ba62f9f9a240b Mon Sep 17 00:00:00 2001 +From: Lucian Langa +Date: Fri, 28 Jan 2011 16:57:36 +0000 +Subject: allow to select feed location from properties menu + +--- src/parser.c.orig Fri Apr 22 17:18:39 2011 ++++ src/parser.c Fri Apr 22 17:18:50 2011 +@@ -83,7 +83,6 @@ rss_html_url_decode(const char *html, int len) + (xmlNodePtr)doc, + (xmlChar *)"src", + (xmlChar *)duri); +- xmlFree(url); + } + } + return src; diff --git a/mail/evolution-plugin-rss/patches/patch-src_rss-config-factory_c b/mail/evolution-plugin-rss/patches/patch-src_rss-config-factory_c new file mode 100644 index 00000000000..042dd5464f1 --- /dev/null +++ b/mail/evolution-plugin-rss/patches/patch-src_rss-config-factory_c @@ -0,0 +1,146 @@ +$OpenBSD: patch-src_rss-config-factory_c,v 1.7 2011/04/22 15:57:19 ajacoutot Exp $ + +Revert: +From 7d264518c2c6741e81842e7c4e6ba62f9f9a240b Mon Sep 17 00:00:00 2001 +From: Lucian Langa +Date: Fri, 28 Jan 2011 16:57:36 +0000 +Subject: allow to select feed location from properties menu + +--- src/rss-config-factory.c.orig Fri Apr 22 16:16:04 2011 ++++ src/rss-config-factory.c Fri Apr 22 17:13:07 2011 +@@ -46,11 +46,7 @@ + #include + #include + #include +-#include +- +-#include + #include +-#include + #endif + + +@@ -60,14 +56,12 @@ + #endif + + extern int rss_verbose_debug; +-extern EShellView *rss_shell_view; + + #include "rss.h" + #include "misc.h" + #include "parser.h" + #include "rss-config.h" + #include "rss-config-factory.h" +-#include "rss-evo-common.h" + #include "network-soup.h" + #include "notification.h" + +@@ -437,76 +431,6 @@ disable_widget_cb(GtkWidget *widget, GtkBuilder *data) + gtk_widget_set_sensitive(authpass, auth_enabled); + } + +-void +-folder_cb (GtkWidget *widget, gpointer data); +- +-void +-folder_cb (GtkWidget *widget, gpointer data) +-{ +- EMailBackend *backend; +- EMailSession *session; +- CamelFolderInfo *folderinfo; +- GtkWidget *folder_tree; +- GtkWidget *dialog; +- GtkWindow *window; +- const gchar *uri; +- struct _copy_folder_data *cfd; +- +- EMailReader *reader; +- EShellContent *shell_content; +- +- gchar *text = (gchar *)gtk_label_get_text(GTK_LABEL(data)); +- +- shell_content = e_shell_view_get_shell_content (rss_shell_view); +- reader = E_MAIL_READER (shell_content); +- backend = e_mail_reader_get_backend (reader); +- +- session = e_mail_backend_get_session (backend); +- +- window = e_mail_reader_get_window (reader); +- +- folder_tree = em_folder_tree_new (session); +- emu_restore_folder_tree_state (EM_FOLDER_TREE (folder_tree)); +- +- em_folder_tree_set_excluded ( +- EM_FOLDER_TREE (folder_tree), +- EMFT_EXCLUDE_NOSELECT | EMFT_EXCLUDE_VIRTUAL | +- EMFT_EXCLUDE_VTRASH); +- +- dialog = em_folder_selector_new ( +- window, EM_FOLDER_TREE (folder_tree), +- EM_FOLDER_SELECTOR_CAN_CREATE, +- _("Move to Folder"), NULL, _("M_ove")); +- +- if ((uri = lookup_uri_by_folder_name(text))) +- em_folder_selector_set_selected ( +- EM_FOLDER_SELECTOR (dialog), +- uri); +- +- folderinfo = em_folder_tree_get_selected_folder_info ((EMFolderTree *)folder_tree); +- +- cfd = g_malloc (sizeof (*cfd)); +- cfd->fi = folderinfo; +- cfd->delete = 1; +- +- if (gtk_dialog_run (GTK_DIALOG (dialog)) == GTK_RESPONSE_OK) { +- gchar *tmp; +- gchar *name = g_path_get_basename(text); +- uri = em_folder_selector_get_selected_uri ( +- EM_FOLDER_SELECTOR (dialog)); +- rss_emfu_copy_folder_selected (backend, uri, cfd); +- tmp = g_build_path(G_DIR_SEPARATOR_S, +- em_utils_folder_name_from_uri(uri), +- name, NULL); +- g_free(name); +- gtk_label_set_text(GTK_LABEL(data), tmp); +- g_free(tmp); +- } +- +- gtk_widget_destroy (dialog); +-} +- +- + add_feed * + build_dialog_add(gchar *url, gchar *feed_text) + { +@@ -618,9 +542,6 @@ build_dialog_add(gchar *url, gchar *feed_text) + location_button = GTK_WIDGET (gtk_builder_get_object(gui, "location_button")); + + gtk_widget_show(location_button); +- g_signal_connect ( +- GTK_BUTTON (location_button), +- "clicked", G_CALLBACK (folder_cb), entry2); + location_label = GTK_WIDGET ( + gtk_builder_get_object(gui, + "location_label")); +@@ -942,8 +863,7 @@ store_redraw(GtkTreeView *data) + { + GtkTreeModel *model; + +- if (!data) +- return FALSE; ++ g_return_val_if_fail(data, FALSE); + + if (!store_redrawing) { + store_redrawing = 1; +@@ -1297,10 +1217,8 @@ delete_feed_folder_alloc(gchar *old_name) + feed_file = g_strdup_printf("%s/feed_folders", feed_dir); + g_free(feed_dir); + f = fopen(feed_file, "wb"); +- if (!f) { +- g_free(feed_file); ++ if (!f) + return; +- } + + orig_name = g_hash_table_lookup( + rf->feed_folders, diff --git a/mail/evolution-plugin-rss/patches/patch-src_rss-evo-common_c b/mail/evolution-plugin-rss/patches/patch-src_rss-evo-common_c new file mode 100644 index 00000000000..9e53660eff4 --- /dev/null +++ b/mail/evolution-plugin-rss/patches/patch-src_rss-evo-common_c @@ -0,0 +1,103 @@ +$OpenBSD: patch-src_rss-evo-common_c,v 1.1 2011/04/22 15:57:19 ajacoutot Exp $ + +Revert: +From 7d264518c2c6741e81842e7c4e6ba62f9f9a240b Mon Sep 17 00:00:00 2001 +From: Lucian Langa +Date: Fri, 28 Jan 2011 16:57:36 +0000 +Subject: allow to select feed location from properties menu + +--- src/rss-evo-common.c.orig Fri Apr 22 17:20:49 2011 ++++ src/rss-evo-common.c Fri Apr 22 17:21:45 2011 +@@ -64,92 +64,6 @@ struct _EProxyPrivate { + enum ProxyType type; + }; + +-gboolean +-rss_emfu_is_special_local_folder (const gchar *name) +-{ +- return (!strcmp (name, "Drafts") || !strcmp (name, "Inbox") || !strcmp (name, "Outbox") || !strcmp (name, "Sent") || !strcmp (name, "Templates")); +-} +- +-void +-rss_emfu_copy_folder_selected (EMailBackend *backend, +- const gchar *uri, +- gpointer data) +-{ +- EMailSession *session; +- struct _copy_folder_data *cfd = data; +- CamelStore *fromstore = NULL, *tostore = NULL; +- CamelStore *local_store; +- CamelService *service; +- CamelProvider *provider; +- const gchar *tobase = NULL; +- CamelURL *url; +- GError *local_error = NULL; +- +- if (uri == NULL) { +- g_free (cfd); +- return; +- } +- +- local_store = e_mail_local_get_store (); +- session = e_mail_backend_get_session (backend); +- +- fromstore = camel_session_get_store ( +- CAMEL_SESSION (session), cfd->fi->uri, &local_error); +- if (fromstore == NULL) { +- e_mail_backend_submit_alert ( +- backend, cfd->delete ? +- "mail:no-move-folder-notexist" : +- "mail:no-copy-folder-notexist", +- cfd->fi->full_name, uri, +- local_error->message, NULL); +- goto fail; +- } +- +- if (cfd->delete && fromstore == local_store && rss_emfu_is_special_local_folder (cfd->fi->full_name)) { +- e_mail_backend_submit_alert ( +- backend, "mail:no-rename-special-folder", +- cfd->fi->full_name, NULL); +- goto fail; +- } +- +- tostore = camel_session_get_store ( +- CAMEL_SESSION (session), uri, &local_error); +- if (tostore == NULL) { +- e_mail_backend_submit_alert ( +- backend, cfd->delete ? +- "mail:no-move-folder-to-notexist" : +- "mail:no-copy-folder-to-notexist", +- cfd->fi->full_name, uri, +- local_error->message, NULL); +- goto fail; +- } +- +- service = CAMEL_SERVICE (tostore); +- provider = camel_service_get_provider (service); +- +- url = camel_url_new (uri, NULL); +- if (provider->url_flags & CAMEL_URL_FRAGMENT_IS_PATH) +- tobase = url->fragment; +- else if (url->path && url->path[0]) +- tobase = url->path+1; +- if (tobase == NULL) +- tobase = ""; +- +- em_folder_utils_copy_folders ( +- fromstore, cfd->fi->full_name, tostore, tobase, cfd->delete); +- +- camel_url_free (url); +-fail: +- if (fromstore) +- g_object_unref (fromstore); +- if (tostore) +- g_object_unref (tostore); +- +- g_clear_error (&local_error); +- +- g_free (cfd); +-} +- + void + rss_ipv6_network_addr (const struct in6_addr *addr, const struct in6_addr *mask, + struct in6_addr *res) diff --git a/mail/evolution-plugin-rss/patches/patch-src_rss-evo-common_h b/mail/evolution-plugin-rss/patches/patch-src_rss-evo-common_h new file mode 100644 index 00000000000..b7cba774972 --- /dev/null +++ b/mail/evolution-plugin-rss/patches/patch-src_rss-evo-common_h @@ -0,0 +1,34 @@ +$OpenBSD: patch-src_rss-evo-common_h,v 1.1 2011/04/22 15:57:19 ajacoutot Exp $ + +Revert: +From 7d264518c2c6741e81842e7c4e6ba62f9f9a240b Mon Sep 17 00:00:00 2001 +From: Lucian Langa +Date: Fri, 28 Jan 2011 16:57:36 +0000 +Subject: allow to select feed location from properties menu + +--- src/rss-evo-common.h.orig Fri Apr 22 17:22:14 2011 ++++ src/rss-evo-common.h Fri Apr 22 17:22:41 2011 +@@ -23,23 +23,10 @@ + #include + #include + +-struct _copy_folder_data { +- CamelFolderInfo *fi; +- gboolean delete; +-}; +- + void + rss_ipv6_network_addr (const struct in6_addr *addr, + const struct in6_addr *mask, + struct in6_addr *res); +- +-gboolean +-rss_emfu_is_special_local_folder (const gchar *name); +- +-void +-rss_emfu_copy_folder_selected (EMailBackend *backend, +- const gchar *uri, +- gpointer data); + + gboolean + rss_e_proxy_require_proxy_for_uri (EProxy* proxy, const gchar * uri); diff --git a/mail/evolution-plugin-rss/patches/patch-src_rss_c b/mail/evolution-plugin-rss/patches/patch-src_rss_c new file mode 100644 index 00000000000..60147297397 --- /dev/null +++ b/mail/evolution-plugin-rss/patches/patch-src_rss_c @@ -0,0 +1,142 @@ +$OpenBSD: patch-src_rss_c,v 1.11 2011/04/22 15:57:19 ajacoutot Exp $ + +Revert: +From 7d264518c2c6741e81842e7c4e6ba62f9f9a240b Mon Sep 17 00:00:00 2001 +From: Lucian Langa +Date: Fri, 28 Jan 2011 16:57:36 +0000 +Subject: allow to select feed location from properties menu + +--- src/rss.c.orig Fri Apr 22 17:06:20 2011 ++++ src/rss.c Fri Apr 22 17:33:35 2011 +@@ -411,6 +411,7 @@ update_progress_text(gchar *title) + } + } + ++#ifdef HAVE_WEBKIT + void + rss_webkit_load_string(gchar *str, gchar *base, gchar *encoding) + { +@@ -423,6 +424,7 @@ rss_webkit_load_string(gchar *str, gchar *base, gchar + if (strncmp(base, "file:///fake", 12)) + webkit_set_history(base); + } ++#endif + + void + update_progress_bar(guint current); +@@ -943,6 +945,8 @@ rss_select_folder(gchar *folder_name) + const + #endif + gchar *uri; ++ CamelStore *store; ++ CamelFolder *fold = NULL; + EShellSidebar *shell_sidebar; + + d("rss_select_folder() %s:%d\n", __FILE__, __LINE__); +@@ -951,12 +955,23 @@ rss_select_folder(gchar *folder_name) + + shell_sidebar = e_shell_view_get_shell_sidebar(rss_shell_view); + g_object_get (shell_sidebar, "folder-tree", &folder_tree, NULL); ++ store = rss_component_peek_local_store(); ++#if (DATASERVER_VERSION >= 2033001) ++ fold = camel_store_get_folder_sync (store, folder_name, 0, NULL, NULL); ++#else ++ fold = camel_store_get_folder (store, folder_name, 0, NULL); ++#endif ++ if (!fold) return; ++#if EVOLUTION_VERSION >= 29101 ++ uri = camel_folder_get_uri (fold); ++#else ++ uri = mail_tools_folder_to_url (fold); ++#endif + +- uri = lookup_uri_by_folder_name(folder_name); + em_folder_tree_set_selected(folder_tree, uri, 0); + #endif + #if EVOLUTION_VERSION < 29101 +- if (uri) g_free(uri); ++ g_free(uri); + #endif + } + +@@ -3762,7 +3777,6 @@ print_comments(gchar *url, gchar *stream, EMFormatHTML + + return display_comments (r, format); + } +- g_free(r); + return NULL; + } + +@@ -3942,30 +3956,6 @@ lookup_chn_name_by_url(gchar *url) + return chn_name; + } + +-gchar * +-lookup_uri_by_folder_name(gchar *name) +-{ +- CamelFolder *folder; +- gchar *uri; +- CamelStore *store = rss_component_peek_local_store(); +- +- if (!name) +- return NULL; +- +-#if (DATASERVER_VERSION >= 2033001) +- folder = camel_store_get_folder_sync (store, name, 0, NULL, NULL); +-#else +- folder = camel_store_get_folder (store, name, 0, NULL); +-#endif +- if (!folder) return NULL; +-#if EVOLUTION_VERSION >= 29101 +- uri = (gchar *)camel_folder_get_uri (folder); +-#else +- uri = mail_tools_folder_to_url (folder); +-#endif +- return uri; +-} +- + void + update_main_folder(gchar *new_name) + { +@@ -4029,7 +4019,6 @@ search_rebase(gpointer key, gpointer value, gchar *ona + if (!strncmp(key, tmp, strlen(tmp))) { + rebase_keys = g_list_append(rebase_keys, key); + } +- g_free(tmp); + } + + void +@@ -4066,7 +4055,7 @@ sync_folders(void) + g_free(feed_dir); + f = fopen(feed_file, "wb"); + if (!f) +- goto out; ++ return; + + if (!g_hash_table_size(rf->feed_folders)) + goto exit; +@@ -4074,6 +4063,7 @@ sync_folders(void) + g_hash_table_foreach(rf->feed_folders, + (GHFunc)write_feeds_folder_line, + (gpointer *)f); ++ g_free(feed_file); + g_hash_table_destroy(rf->reversed_feed_folders); + rf->reversed_feed_folders = g_hash_table_new_full(g_str_hash, + g_str_equal, +@@ -4083,7 +4073,6 @@ sync_folders(void) + (GHFunc)populate_reversed, + rf->reversed_feed_folders); + exit: fclose(f); +-out: g_free(feed_file); + return; + } + +@@ -4862,7 +4851,7 @@ e_plugin_ui_init (GtkUIManager *ui_manager, + + rss_shell_view = shell_view; + shell_window = e_shell_view_get_shell_window (rss_shell_view); +- evo_window = (GtkWidget *)shell_window; ++ evo_window = shell_window; + g_signal_connect ( + e_shell_window_get_action ( + E_SHELL_WINDOW (shell_window), diff --git a/mail/evolution-plugin-rss/patches/patch-src_rss_h b/mail/evolution-plugin-rss/patches/patch-src_rss_h new file mode 100644 index 00000000000..bd54442a00f --- /dev/null +++ b/mail/evolution-plugin-rss/patches/patch-src_rss_h @@ -0,0 +1,29 @@ +$OpenBSD: patch-src_rss_h,v 1.1 2011/04/22 15:57:20 ajacoutot Exp $ + +Revert: +From 7d264518c2c6741e81842e7c4e6ba62f9f9a240b Mon Sep 17 00:00:00 2001 +From: Lucian Langa +Date: Fri, 28 Jan 2011 16:57:36 +0000 +Subject: allow to select feed location from properties menu + +--- src/rss.h.orig Fri Apr 22 17:28:35 2011 ++++ src/rss.h Fri Apr 22 17:29:11 2011 +@@ -404,17 +404,14 @@ void rss_error( + gchar *emsg); + void rss_hooks_init(void); + void rss_select_folder(gchar *folder_name); +-gboolean update_articles(gboolean disabler); +- + gchar *lookup_chn_name_by_url(gchar *url); ++gboolean update_articles(gboolean disabler); + gchar *lookup_main_folder(void); + gchar *lookup_feed_folder(gchar *folder); + gchar *lookup_feed_folder_raw(gchar *folder); + gchar *lookup_original_folder( + gchar *folder, + gboolean *found); +-gchar *lookup_uri_by_folder_name(gchar *name); +- + gchar *decode_utf8_entities(gchar *str); + gchar *decode_html_entities(gchar *str); + gchar *get_real_channel_name(gchar *uri, gchar *failed);