mirror of
https://github.com/archlinuxarm/PKGBUILDs.git
synced 2025-03-29 00:25:25 +00:00
146 lines
4.5 KiB
Diff
146 lines
4.5 KiB
Diff
![]() |
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:
|