Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 127890 | Differences between
and this patch

Collapse All | Expand All

(-) (-14 / +12 lines)
Lines 270-280 Link Here
270
	statusbar = EPHY_STATUSBAR (ephy_window_get_statusbar (window));
270
	statusbar = EPHY_STATUSBAR (ephy_window_get_statusbar (window));
271
	g_return_if_fail (statusbar != NULL);
271
	g_return_if_fail (statusbar != NULL);
272
272
273
	frame = g_object_get_data (G_OBJECT (statusbar), STATUSBAR_FRAME_KEY);
273
	frame = g_object_steal_data (G_OBJECT (statusbar), STATUSBAR_FRAME_KEY);
274
	evbox = g_object_get_data (G_OBJECT (statusbar), STATUSBAR_EVBOX_KEY);
274
	evbox = g_object_steal_data (G_OBJECT (statusbar), STATUSBAR_EVBOX_KEY);
275
276
	g_object_set_data (G_OBJECT (statusbar), STATUSBAR_FRAME_KEY, NULL);
277
	g_object_set_data (G_OBJECT (statusbar), STATUSBAR_EVBOX_KEY, NULL);
278
275
279
	g_return_if_fail (frame != NULL);
276
	g_return_if_fail (frame != NULL);
280
	g_return_if_fail (evbox != NULL);
277
	g_return_if_fail (evbox != NULL);
Lines 365-371 Link Here
365
}
362
}
366
363
367
static AdBlocker *
364
static AdBlocker *
368
ensure_adblocker (EphyWindow *window, EphyEmbed *embed)
365
ensure_adblocker (EphyWindow *window,
366
		  EphyEmbed *embed)
369
{
367
{
370
	AdBlocker *blocker;
368
	AdBlocker *blocker;
371
369
Lines 382-400 Link Here
382
		blocker = ad_blocker_new (ext->priv->tester);
380
		blocker = ad_blocker_new (ext->priv->tester);
383
		g_return_val_if_fail (blocker != NULL, NULL);
381
		g_return_val_if_fail (blocker != NULL, NULL);
384
382
385
		g_object_set_data (G_OBJECT (embed), AD_BLOCKER_KEY, blocker);
383
		g_object_set_data_full (G_OBJECT (embed), AD_BLOCKER_KEY,
384
					blocker, (GDestroyNotify) g_object_unref);
386
385
387
		g_signal_connect (embed, "ge-location",
386
		g_signal_connect (embed, "ge-location",
388
				G_CALLBACK (location_changed_cb), blocker);
387
				  G_CALLBACK (location_changed_cb), blocker);
389
388
390
		g_signal_connect (embed, "content-blocked",
389
		g_signal_connect (embed, "content-blocked",
391
				G_CALLBACK (content_blocked_cb), blocker);
390
				  G_CALLBACK (content_blocked_cb), blocker);
392
	}
391
	}
393
392
394
	return blocker;
393
	return blocker;
395
}
394
}
396
395
397
398
static void
396
static void
399
impl_attach_tab (EphyExtension *ext,
397
impl_attach_tab (EphyExtension *ext,
400
		 EphyWindow *window,
398
		 EphyWindow *window,
Lines 422-436 Link Here
422
	
420
	
423
	embed = ephy_tab_get_embed (tab);
421
	embed = ephy_tab_get_embed (tab);
424
422
425
	blocker = g_object_get_data (G_OBJECT (embed), AD_BLOCKER_KEY);
423
	blocker = g_object_steal_data (G_OBJECT (embed), AD_BLOCKER_KEY);
426
	g_return_if_fail (blocker != NULL);
424
	g_return_if_fail (blocker != NULL);
427
425
428
	g_signal_handlers_disconnect_by_func
426
	g_signal_handlers_disconnect_by_func
429
		(G_OBJECT (embed), G_CALLBACK (content_blocked_cb), blocker);
427
		(embed, G_CALLBACK (content_blocked_cb), blocker);
430
	g_signal_handlers_disconnect_by_func
428
	g_signal_handlers_disconnect_by_func
431
		(G_OBJECT (embed), G_CALLBACK (location_changed_cb), blocker);
429
		(embed, G_CALLBACK (location_changed_cb), blocker);
432
	g_signal_handlers_disconnect_by_func
430
	g_signal_handlers_disconnect_by_func
433
		(G_OBJECT (blocker), G_CALLBACK (num_blocked_cb), blocker);
431
		(blocker, G_CALLBACK (num_blocked_cb), embed);
434
432
435
	g_object_unref (blocker);
433
	g_object_unref (blocker);
436
}
434
}

Return to bug 127890