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 |
} |