diff options
author | Marinus Schraal <foser@gentoo.org> | 2006-03-29 11:25:42 +0000 |
---|---|---|
committer | Marinus Schraal <foser@gentoo.org> | 2006-03-29 11:25:42 +0000 |
commit | 4775da51f149b5c44a0cd318ac7af482d039341b (patch) | |
tree | f8829b0c14e47412410aa4b5464f0fa351148a67 /www-client/epiphany-extensions/files | |
parent | Add patch to fix bug #127929. Special thanks to David Morgan who helped me wi... (diff) | |
download | gentoo-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.patch | 84 |
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); + } |