diff --git a/empathy-fix-nav-handling.patch b/empathy-fix-nav-handling.patch new file mode 100644 index 0000000..36679fe --- /dev/null +++ b/empathy-fix-nav-handling.patch @@ -0,0 +1,57 @@ +--- empathy-2.27.91.1/libempathy-gtk/empathy-theme-adium.c.fix-nav-handling 2009-08-25 08:39:23.000000000 -0400 ++++ empathy-2.27.91.1/libempathy-gtk/empathy-theme-adium.c 2009-08-27 16:25:06.777275222 -0400 +@@ -24,7 +24,7 @@ + #include + #include + +-#include ++#include + #include + #include + +@@ -128,18 +128,28 @@ + theme_adium_update_enable_webkit_developer_tools (theme); + } + +-static WebKitNavigationResponse +-theme_adium_navigation_requested_cb (WebKitWebView *view, +- WebKitWebFrame *frame, +- WebKitNetworkRequest *request, +- gpointer user_data) ++static gboolean ++theme_adium_navigation_policy_decision_requested_cb (WebKitWebView *view, ++ WebKitWebFrame *web_frame, ++ WebKitNetworkRequest *request, ++ WebKitWebNavigationAction *action, ++ WebKitWebPolicyDecision *decision, ++ gpointer data) + { + const gchar *uri; + ++ /* Only call url_show on clicks */ ++ if (webkit_web_navigation_action_get_reason (action) != ++ WEBKIT_WEB_NAVIGATION_REASON_LINK_CLICKED) { ++ webkit_web_policy_decision_use (decision); ++ return TRUE; ++ } ++ + uri = webkit_network_request_get_uri (request); + empathy_url_show (GTK_WIDGET (view), uri); + +- return WEBKIT_NAVIGATION_RESPONSE_IGNORE; ++ webkit_web_policy_decision_ignore (decision); ++ return TRUE; + } + + static void +@@ -1072,8 +1082,8 @@ + g_signal_connect (theme, "load-finished", + G_CALLBACK (theme_adium_load_finished_cb), + NULL); +- g_signal_connect (theme, "navigation-requested", +- G_CALLBACK (theme_adium_navigation_requested_cb), ++ g_signal_connect (theme, "navigation-policy-decision-requested", ++ G_CALLBACK (theme_adium_navigation_policy_decision_requested_cb), + NULL); + g_signal_connect (theme, "populate-popup", + G_CALLBACK (theme_adium_populate_popup_cb), diff --git a/empathy.spec b/empathy.spec index b2037fa..c0ce8c5 100644 --- a/empathy.spec +++ b/empathy.spec @@ -15,7 +15,7 @@ Name: empathy Version: 2.27.91.1 -Release: 4%{?dist} +Release: 5%{?dist} Summary: Instant Messaging Client for GNOME Group: Applications/Communications @@ -34,7 +34,8 @@ Patch1: %{name}-broken-pkgconfig.patch Patch2: %{name}-desktop-category.patch # http://bugzilla.gnome.org/show_bug.cgi?id=592853 Patch3: presence-icons.patch - +# http://bugzilla.gnome.org/show_bug.cgi?id=593318 +Patch4: %{name}-fix-nav-handling.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: enchant-devel >= %{enchant_version} @@ -138,6 +139,7 @@ bindings to the libempathy and libempathy-gtk libraries, respectively. %patch1 -p1 -b .pkgconfig %patch2 -p1 -b .desktop %patch3 -p1 -b .presence-icons +%patch4 -p1 -b .fix-nav-handling # force these to be regenerated rm data/empathy.desktop @@ -246,6 +248,9 @@ fi %{python_sitearch}/empathy*.so %changelog +* Sat Aug 29 2009 Brian Pepple - 2.27.91.1-5 +- Backport patch to fix incorrect assumption about navigation-request. (#519849) + * Sat Aug 29 2009 Matthias Clasen - 2.27.91.1-4 - Rebuild against newer libnm_glib