aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorClaudio Saavedra <csaavedra@igalia.com>2012-08-29 23:23:26 +0800
committerClaudio Saavedra <csaavedra@igalia.com>2012-09-01 02:34:02 +0800
commit24a912ed20ef0166222112a7327662e71be9a9c5 (patch)
treeb565b410fbee4fc2455618f580abb1596919d8eb
parenta23f1d8e71f93ae1b28697039c71578a4d239a30 (diff)
downloadgsoc2013-epiphany-24a912ed20ef0166222112a7327662e71be9a9c5.tar.gz
gsoc2013-epiphany-24a912ed20ef0166222112a7327662e71be9a9c5.tar.zst
gsoc2013-epiphany-24a912ed20ef0166222112a7327662e71be9a9c5.zip
ephy-web-view: store the source tag for the snapshot idle
To avoid warnings if the view dissapears before the source function is called.
-rw-r--r--embed/ephy-web-view.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/embed/ephy-web-view.c b/embed/ephy-web-view.c
index 4641e351b..234126e60 100644
--- a/embed/ephy-web-view.c
+++ b/embed/ephy-web-view.c
@@ -106,6 +106,8 @@ struct _EphyWebViewPrivate {
EphyHistoryService *history_service;
GCancellable *history_service_cancellable;
+ guint snapshot_idle_id;
+
EphyHistoryPageVisitType visit_type;
gulong do_not_track_handler;
@@ -536,6 +538,11 @@ ephy_web_view_dispose (GObject *object)
g_clear_object (&priv->history_service_cancellable);
}
+ if (priv->snapshot_idle_id) {
+ g_source_remove (priv->snapshot_idle_id);
+ priv->snapshot_idle_id = 0;
+ }
+
g_clear_object(&priv->certificate);
G_OBJECT_CLASS (ephy_web_view_parent_class)->dispose (object);
@@ -2396,6 +2403,8 @@ load_status_cb (WebKitWebView *web_view,
priv->visit_type = EPHY_PAGE_VISIT_NONE;
if (!ephy_web_view_is_history_frozen (view)) {
+ if (priv->snapshot_idle_id)
+ g_source_remove (priv->snapshot_idle_id);
priv->snapshot_idle_id = g_idle_add_full (G_PRIORITY_LOW, (GSourceFunc) web_view_check_snapshot, web_view, NULL);
}