summaryrefslogtreecommitdiff
path: root/recipes/devhelp/files/devhelp-webkit.patch
diff options
context:
space:
mode:
authorStanislav Brabec <utx@penguin.cz>2009-07-22 17:17:17 +0000
committerutx@penguin.cz <utx@penguin.cz>2009-07-22 17:17:17 +0000
commit335fde990ddad69e95bd9c3a16d4f47676d03205 (patch)
tree7ac119e6482a2ec9f892b66e7f41278e13b95360 /recipes/devhelp/files/devhelp-webkit.patch
parent998d60e2d579563af9236f34b72dd2370a46cf89 (diff)
devhelp: New package, version 0.23.
Diffstat (limited to 'recipes/devhelp/files/devhelp-webkit.patch')
-rw-r--r--recipes/devhelp/files/devhelp-webkit.patch71
1 files changed, 71 insertions, 0 deletions
diff --git a/recipes/devhelp/files/devhelp-webkit.patch b/recipes/devhelp/files/devhelp-webkit.patch
new file mode 100644
index 0000000000..5ba3f3d5a8
--- /dev/null
+++ b/recipes/devhelp/files/devhelp-webkit.patch
@@ -0,0 +1,71 @@
+http://bugzilla.gnome.org/show_bug.cgi?id=586559
+Comment #6 from Daniel Macks (reporter, points: 15)
+2009-07-15 17:27 UTC [reply]
+
+Created an attachment (id=138458) [edit]
+Prepend file://
+
+Here's the patch we're using in fink. Not "complete" (only minimal change to
+work, not *every* use of webkit_web_view_open()) and doesn't resolve the
+inconsistent meaning of "uri", but also doesn't change anything in webkit lib
+API or behavior so no interface chaos (unlike webkit:)
+
+diff -Nurd -x'*~' devhelp-0.23.orig/src/dh-window.c devhelp-0.23/src/dh-window.c
+--- devhelp-0.23.orig/src/dh-window.c 2008-11-28 10:56:04.000000000 -0500
++++ devhelp-0.23/src/dh-window.c 2009-07-08 03:36:23.000000000 -0400
+@@ -133,6 +133,20 @@
+ #define GET_PRIVATE(instance) G_TYPE_INSTANCE_GET_PRIVATE \
+ (instance, DH_TYPE_WINDOW, DhWindowPriv);
+
++
++static void
++_webkit_web_view_open_compat (WebKitWebView *view,
++ const gchar *uri)
++{
++ gchar *real_uri;
++ if (g_path_is_absolute(uri))
++ real_uri = g_strdup_printf ("file://%s", uri);
++ else
++ real_uri = g_strdup (uri);
++ webkit_web_view_load_uri (view, real_uri);
++ g_free(real_uri);
++}
++
+ static void
+ window_activate_new_window (GtkAction *action,
+ DhWindow *window)
+@@ -803,7 +817,7 @@
+ window);
+
+ uri = dh_link_get_uri (link);
+- webkit_web_view_open (view, uri);
++ _webkit_web_view_open_compat (view, uri);
+ g_free (uri);
+
+ g_signal_handlers_unblock_by_func (view,
+@@ -827,7 +841,7 @@
+ view = window_get_active_web_view (window);
+
+ uri = dh_link_get_uri (link);
+- webkit_web_view_open (view, uri);
++ _webkit_web_view_open_compat (view, uri);
+ g_free (uri);
+
+ window_check_history (window, view);
+@@ -1093,7 +1107,7 @@
+ }
+
+ if (location) {
+- webkit_web_view_open (WEBKIT_WEB_VIEW (view), location);
++ _webkit_web_view_open_compat (WEBKIT_WEB_VIEW (view), location);
+ } else {
+ webkit_web_view_open (WEBKIT_WEB_VIEW (view), "about:blank");
+ }
+@@ -1357,6 +1371,6 @@
+ priv = window->priv;
+
+ web_view = window_get_active_web_view (window);
+- webkit_web_view_open (web_view, uri);
++ _webkit_web_view_open_compat (web_view, uri);
+ dh_book_tree_select_uri (DH_BOOK_TREE (priv->book_tree), uri);
+ }