PKGBUILDs/extra/gimp/gimp-2.6.6-help-browser-webkit.patch
2009-10-09 21:23:22 -05:00

145 lines
4.5 KiB
Diff
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

commit 76c11122dd72e2c47675da394dadcca53c9069dd
Author: Nils Philippsen <nils@redhat.com>
Date: Mon Jun 29 13:34:13 2009 +0200
patch: help-browser-webkit
Squashed commit of the following:
commit 7f26593f67532850a2c3e1141f5c7f5e667b9064
Author: Sven Neumann <sven@gimp.org>
Date: Tue May 12 09:39:21 2009 +0200
help-browser: fix history menus
The history menus located at the back and forward buttons stopped working
after a webkit update some time ago. With these changes the menus work
again, at least with recent webkit releases.
Signed-off-by: Nils Philippsen <nils@redhat.com>
commit 7647788dbf37369b602361a6abd598388a4cb923
Author: Sven Neumann <sven@gimp.org>
Date: Sat Mar 28 16:42:50 2009 +0000
Bug 577024 help-browser plugin crashes when used with webkit 1.1.3
2009-03-28 Sven Neumann <sven@gimp.org>
Bug 577024 help-browser plugin crashes when used with webkit 1.1.3
* plug-ins/help-browser/help-browser.c (run): call g_thread_init().
Seems to be needed with newer versions of webkit.
svn path=/trunk/; revision=28227
Signed-off-by: Nils Philippsen <nils@redhat.com>
diff --git a/plug-ins/help-browser/dialog.c b/plug-ins/help-browser/dialog.c
index 5ad6a06..159c67a 100644
--- a/plug-ins/help-browser/dialog.c
+++ b/plug-ins/help-browser/dialog.c
@@ -886,27 +886,30 @@ close_callback (GtkAction *action,
}
static void
-menu_callback (GtkWidget *menu,
- WebKitWebHistoryItem *item)
+menu_callback (GtkWidget *menu,
+ gpointer data)
{
- browser_dialog_load (webkit_web_history_item_get_uri (item));
+ gint steps = GPOINTER_TO_INT (data);
+
+ webkit_web_view_go_back_or_forward (WEBKIT_WEB_VIEW (view), steps);
}
-/* this function unrefs the items and frees the list */
static GtkWidget *
-build_menu (GList *items)
+build_menu (const GList *items,
+ gboolean back)
{
- GtkWidget *menu;
- GList *list;
+ GtkWidget *menu;
+ const GList *iter;
+ gint steps;
if (! items)
return NULL;
menu = gtk_menu_new ();
- for (list = items; list; list = g_list_next (list))
+ for (iter = items, steps = 1; iter; iter = g_list_next (iter), steps++)
{
- WebKitWebHistoryItem *item = list->data;
+ WebKitWebHistoryItem *item = iter->data;
const gchar *title;
title = webkit_web_history_item_get_title (item);
@@ -918,16 +921,12 @@ build_menu (GList *items)
gtk_menu_shell_append (GTK_MENU_SHELL (menu), menu_item);
gtk_widget_show (menu_item);
- g_signal_connect_object (menu_item, "activate",
- G_CALLBACK (menu_callback),
- item, 0);
-
- g_object_unref (item);
+ g_signal_connect (menu_item, "activate",
+ G_CALLBACK (menu_callback),
+ GINT_TO_POINTER (back ? - steps : steps));
}
}
- g_list_free (items);
-
return menu;
}
@@ -950,12 +949,12 @@ update_actions (void)
if (back_forward_list)
{
- GList *list;
+ const GList *list;
list = webkit_web_back_forward_list_get_back_list_with_limit (back_forward_list,
12);
gtk_menu_tool_button_set_menu (GTK_MENU_TOOL_BUTTON (button_prev),
- build_menu (list));
+ build_menu (list, TRUE));
}
else
{
@@ -971,12 +970,12 @@ update_actions (void)
if (back_forward_list)
{
- GList *list;
+ const GList *list;
list = webkit_web_back_forward_list_get_forward_list_with_limit (back_forward_list,
12);
gtk_menu_tool_button_set_menu (GTK_MENU_TOOL_BUTTON (button_next),
- build_menu (list));
+ build_menu (list, FALSE));
}
else
{
diff --git a/plug-ins/help-browser/help-browser.c b/plug-ins/help-browser/help-browser.c
index efbabfe..d632d9c 100644
--- a/plug-ins/help-browser/help-browser.c
+++ b/plug-ins/help-browser/help-browser.c
@@ -129,6 +129,9 @@ run (const gchar *name,
INIT_I18N ();
+ if (! g_thread_supported ())
+ g_thread_init (NULL);
+
switch (run_mode)
{
case GIMP_RUN_INTERACTIVE: