diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/libtracker-sparql/tracker-notifier.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/libtracker-sparql/tracker-notifier.c b/src/libtracker-sparql/tracker-notifier.c index f67c7a3d3..63cf0e61f 100644 --- a/src/libtracker-sparql/tracker-notifier.c +++ b/src/libtracker-sparql/tracker-notifier.c @@ -498,7 +498,7 @@ handle_cursor (GTask *task, * extracted from the GSequence, the latter because of the ORDER BY * clause. */ - while (tracker_sparql_cursor_next (cursor, NULL, NULL)) { + while (tracker_sparql_cursor_next (cursor, cancellable, NULL)) { id = tracker_sparql_cursor_get_integer (cursor, 0); event = g_sequence_get (iter); iter = g_sequence_iter_next (iter); @@ -513,6 +513,12 @@ handle_cursor (GTask *task, } tracker_sparql_cursor_close (cursor); + + if (g_task_return_error_if_cancelled (task)) { + _tracker_notifier_event_cache_free (cache); + return; + } + cache->first = iter; if (g_sequence_iter_is_end (cache->first)) { |