[tracker: 1/2] tracker-miner: Fix cancellation of g_file_enumerator_next_files_async
- From: Sam Thursfield <sthursfield src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [tracker: 1/2] tracker-miner: Fix cancellation of g_file_enumerator_next_files_async
- Date: Mon, 1 Apr 2019 17:19:49 +0000 (UTC)
commit 465b8031d0a73ac775952c07d0374206746a8a46
Author: Andrea Azzarone <andrea azzarone canonical com>
Date: Mon Apr 1 16:52:15 2019 +0100
tracker-miner: Fix cancellation of g_file_enumerator_next_files_async
The async op is not owner of the user data, so it may be actually gone in the
GAsyncReadyCallback. Ensure we only use it on success or on other errors than
cancelled.
Closes: https://gitlab.gnome.org/GNOME/tracker/issues/86
src/libtracker-miner/tracker-crawler.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
---
diff --git a/src/libtracker-miner/tracker-crawler.c b/src/libtracker-miner/tracker-crawler.c
index 1b8319d97..bfad387c6 100644
--- a/src/libtracker-miner/tracker-crawler.c
+++ b/src/libtracker-miner/tracker-crawler.c
@@ -903,7 +903,7 @@ enumerate_next_cb (GObject *object,
{
DataProviderData *dpd;
GList *info;
- GError *error = NULL;
+ g_autoptr(GError) error = NULL;
info = g_file_enumerator_next_files_finish (G_FILE_ENUMERATOR (object), result, &error);
dpd = user_data;
@@ -922,9 +922,9 @@ enumerate_next_cb (GObject *object,
g_warning ("Could not enumerate next item in container / directory '%s', %s",
uri, error ? error->message : "no error given");
g_free (uri);
+ } else {
+ return;
}
-
- g_clear_error (&error);
} else {
/* Done enumerating, start processing what we got ... */
data_provider_data_add (dpd);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]