summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Catanzaro <mcatanzaro@igalia.com>2019-04-18 20:05:21 +0000
committerMichael Catanzaro <mcatanzaro@posteo.net>2019-04-18 21:33:25 +0000
commit28eee99ade1cfb4fa84b50f844e0bfac3c2a4b21 (patch)
tree5370a18d2d7c818e520e8795698de2ebbca4bed5
parentaf464c501e145c48a0d98f141c691f8e1ea58064 (diff)
downloadepiphany-28eee99ade1cfb4fa84b50f844e0bfac3c2a4b21.tar.gz
gsb-service: ref self for lifetime of update thread
Fixes #736 (cherry picked from commit cefc3e33cca914cdc3130e589bc855491baaf004)
-rw-r--r--lib/safe-browsing/ephy-gsb-service.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/safe-browsing/ephy-gsb-service.c b/lib/safe-browsing/ephy-gsb-service.c
index fd9d84d54..d31fbc154 100644
--- a/lib/safe-browsing/ephy-gsb-service.c
+++ b/lib/safe-browsing/ephy-gsb-service.c
@@ -292,6 +292,8 @@ out:
g_list_free_full (threat_lists, (GDestroyNotify)ephy_gsb_threat_list_free);
ephy_gsb_storage_set_metadata (self->storage, "next_list_updates_time", self->next_list_updates_time);
+
+ g_object_unref (self);
}
static void
@@ -313,7 +315,7 @@ ephy_gsb_service_update (EphyGSBService *self)
g_assert (ephy_gsb_storage_is_operable (self->storage));
g_atomic_int_set (&self->is_updating, TRUE);
- task = g_task_new (self, NULL,
+ task = g_task_new (g_object_ref (self), NULL,
(GAsyncReadyCallback)ephy_gsb_service_update_finished_cb,
NULL);
g_task_run_in_thread (task, (GTaskThreadFunc)ephy_gsb_service_update_thread);