aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--mail/ChangeLog10
-rw-r--r--mail/em-folder-view.c2
-rw-r--r--mail/em-popup.c4
-rw-r--r--mail/em-utils.c31
-rw-r--r--mail/em-utils.h3
5 files changed, 12 insertions, 38 deletions
diff --git a/mail/ChangeLog b/mail/ChangeLog
index 4f26964527..167b4d5eba 100644
--- a/mail/ChangeLog
+++ b/mail/ChangeLog
@@ -1,3 +1,13 @@
+2009-03-02 Matt McCutchen <matt@mattmccutchen.net>
+
+ * evolution/mail/em-folder-view.c:
+ * evolution/mail/em-utils.c:
+ * evolution/mail/em-utils.h:
+ * evolution/mail/em-popup.c:
+ Revert evolution revision 37063 (workaround for bug 563867).
+
+ ** Part of the fix for bug #549838
+
2009-02-26 Andre Klapper <a9016009@gmx.de>
* message-tag-followup-c:
diff --git a/mail/em-folder-view.c b/mail/em-folder-view.c
index 17c78e4f27..54ea58529c 100644
--- a/mail/em-folder-view.c
+++ b/mail/em-folder-view.c
@@ -2746,7 +2746,7 @@ emp_uri_popup_link_copy(EPopup *ep, EPopupItem *pitem, void *data)
struct _EMFolderViewPrivate *p = emfv->priv;
g_free(p->selection_uri);
- p->selection_uri = em_utils_url_unescape_amp(pitem->user_data);
+ p->selection_uri = g_strdup(pitem->user_data);
gtk_selection_owner_set(p->invisible, GDK_SELECTION_PRIMARY, gtk_get_current_event_time());
gtk_selection_owner_set(p->invisible, GDK_SELECTION_CLIPBOARD, gtk_get_current_event_time());
diff --git a/mail/em-popup.c b/mail/em-popup.c
index 9603a08a75..91e6ed6280 100644
--- a/mail/em-popup.c
+++ b/mail/em-popup.c
@@ -585,11 +585,9 @@ static void
emp_uri_popup_link_open(EPopup *ep, EPopupItem *item, void *data)
{
EMPopupTargetURI *t = (EMPopupTargetURI *)ep->target;
- gchar *unescaped_uri = em_utils_url_unescape_amp (t->uri);
/* FIXME Pass a parent window. */
- e_show_uri (NULL, unescaped_uri);
- g_free (unescaped_uri);
+ e_show_uri (NULL, t->uri);
}
static void
diff --git a/mail/em-utils.c b/mail/em-utils.c
index 4a1a6eada9..7685e76845 100644
--- a/mail/em-utils.c
+++ b/mail/em-utils.c
@@ -2427,34 +2427,3 @@ em_utils_show_info_silent (GtkWidget *widget)
g_signal_connect(widget, "response", G_CALLBACK(error_response), NULL);
e_activity_handler_make_error (handler, "mail", E_LOG_WARNINGS, widget);
}
-
-gchar *
-em_utils_url_unescape_amp (const gchar *url)
-{
- gchar *buff;
- int i, j, amps;
-
- if (!url)
- return NULL;
-
- amps = 0;
- for (i = 0; url [i]; i++) {
- if (url [i] == '&' && strncmp (url + i, "&amp;", 5) == 0)
- amps++;
- }
-
- buff = g_strdup (url);
-
- if (!amps)
- return buff;
-
- for (i = 0, j = 0; url [i]; i++, j++) {
- buff [j] = url [i];
-
- if (url [i] == '&' && strncmp (url + i, "&amp;", 5) == 0)
- i += 4;
- }
- buff [j] = 0;
-
- return buff;
-}
diff --git a/mail/em-utils.h b/mail/em-utils.h
index e2f89fc2d6..d64c411a5f 100644
--- a/mail/em-utils.h
+++ b/mail/em-utils.h
@@ -117,9 +117,6 @@ const char *em_utils_snoop_type(struct _CamelMimePart *part);
/* clears flag 'get_password_canceled' at every known accounts, so if needed, get_password will show dialog */
void em_utils_clear_get_password_canceled_accounts_flag (void);
-/* Unescapes &amp; back to a real & in URIs */
-gchar *em_utils_url_unescape_amp (const gchar *url);
-
#ifdef __cplusplus
}
#endif /* __cplusplus */