summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarinus Schraal <foser@gentoo.org>2006-03-29 11:25:42 +0000
committerMarinus Schraal <foser@gentoo.org>2006-03-29 11:25:42 +0000
commit4775da51f149b5c44a0cd318ac7af482d039341b (patch)
treef8829b0c14e47412410aa4b5464f0fa351148a67 /www-client/epiphany-extensions/files
parentAdd patch to fix bug #127929. Special thanks to David Morgan who helped me wi... (diff)
downloadgentoo-2-4775da51f149b5c44a0cd318ac7af482d039341b.tar.gz
gentoo-2-4775da51f149b5c44a0cd318ac7af482d039341b.tar.bz2
gentoo-2-4775da51f149b5c44a0cd318ac7af482d039341b.zip
fix adblock crasher bug
(Portage version: 2.1_pre4-r1)
Diffstat (limited to 'www-client/epiphany-extensions/files')
-rw-r--r--www-client/epiphany-extensions/files/epiphany-extensions-2.14.0.1-adblock.patch84
1 files changed, 84 insertions, 0 deletions
diff --git a/www-client/epiphany-extensions/files/epiphany-extensions-2.14.0.1-adblock.patch b/www-client/epiphany-extensions/files/epiphany-extensions-2.14.0.1-adblock.patch
new file mode 100644
index 000000000000..deebe9b43772
--- /dev/null
+++ b/www-client/epiphany-extensions/files/epiphany-extensions-2.14.0.1-adblock.patch
@@ -0,0 +1,84 @@
+===================================================================
+RCS file: /cvs/gnome/epiphany-extensions/extensions/adblock/ephy-adblock-extension.c,v
+retrieving revision 1.10
+retrieving revision 1.10.2.1
+diff -u -r1.10 -r1.10.2.1
+--- ephy-adblock-extension.c 2006/03/11 18:41:20 1.10
++++ ephy-adblock-extension.c 2006/03/16 14:59:22 1.10.2.1
+@@ -16,7 +16,7 @@
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+- * $Id: epiphany-extensions-2.14.0.1-adblock.patch,v 1.1 2006/03/29 11:25:42 foser Exp $
++ * $Id: epiphany-extensions-2.14.0.1-adblock.patch,v 1.1 2006/03/29 11:25:42 foser Exp $
+ */
+
+ #include "config.h"
+@@ -270,11 +270,8 @@
+ statusbar = EPHY_STATUSBAR (ephy_window_get_statusbar (window));
+ g_return_if_fail (statusbar != NULL);
+
+- frame = g_object_get_data (G_OBJECT (statusbar), STATUSBAR_FRAME_KEY);
+- evbox = g_object_get_data (G_OBJECT (statusbar), STATUSBAR_EVBOX_KEY);
+-
+- g_object_set_data (G_OBJECT (statusbar), STATUSBAR_FRAME_KEY, NULL);
+- g_object_set_data (G_OBJECT (statusbar), STATUSBAR_EVBOX_KEY, NULL);
++ frame = g_object_steal_data (G_OBJECT (statusbar), STATUSBAR_FRAME_KEY);
++ evbox = g_object_steal_data (G_OBJECT (statusbar), STATUSBAR_EVBOX_KEY);
+
+ g_return_if_fail (frame != NULL);
+ g_return_if_fail (evbox != NULL);
+@@ -365,7 +362,8 @@
+ }
+
+ static AdBlocker *
+-ensure_adblocker (EphyWindow *window, EphyEmbed *embed)
++ensure_adblocker (EphyWindow *window,
++ EphyEmbed *embed)
+ {
+ AdBlocker *blocker;
+
+@@ -382,19 +380,19 @@
+ blocker = ad_blocker_new (ext->priv->tester);
+ g_return_val_if_fail (blocker != NULL, NULL);
+
+- g_object_set_data (G_OBJECT (embed), AD_BLOCKER_KEY, blocker);
++ g_object_set_data_full (G_OBJECT (embed), AD_BLOCKER_KEY,
++ blocker, (GDestroyNotify) g_object_unref);
+
+ g_signal_connect (embed, "ge-location",
+- G_CALLBACK (location_changed_cb), blocker);
++ G_CALLBACK (location_changed_cb), blocker);
+
+ g_signal_connect (embed, "content-blocked",
+- G_CALLBACK (content_blocked_cb), blocker);
++ G_CALLBACK (content_blocked_cb), blocker);
+ }
+
+ return blocker;
+ }
+
+-
+ static void
+ impl_attach_tab (EphyExtension *ext,
+ EphyWindow *window,
+@@ -422,15 +420,15 @@
+
+ embed = ephy_tab_get_embed (tab);
+
+- blocker = g_object_get_data (G_OBJECT (embed), AD_BLOCKER_KEY);
++ blocker = g_object_steal_data (G_OBJECT (embed), AD_BLOCKER_KEY);
+ g_return_if_fail (blocker != NULL);
+
+ g_signal_handlers_disconnect_by_func
+- (G_OBJECT (embed), G_CALLBACK (content_blocked_cb), blocker);
++ (embed, G_CALLBACK (content_blocked_cb), blocker);
+ g_signal_handlers_disconnect_by_func
+- (G_OBJECT (embed), G_CALLBACK (location_changed_cb), blocker);
++ (embed, G_CALLBACK (location_changed_cb), blocker);
+ g_signal_handlers_disconnect_by_func
+- (G_OBJECT (blocker), G_CALLBACK (num_blocked_cb), blocker);
++ (blocker, G_CALLBACK (num_blocked_cb), embed);
+
+ g_object_unref (blocker);
+ }