diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2017-10-20 02:18:09 +0200 |
---|---|---|
committer | Carlos Garnacho <carlosg@gnome.org> | 2017-11-14 22:45:26 +0100 |
commit | 72a6dd11300a2d74c7a9f265b3f5906e6031f45f (patch) | |
tree | 5006a6d351f336ec484e418a4d2d503973112690 | |
parent | 33ea86a5dc69c45d2cdcc826247d453e4d332ba1 (diff) | |
download | tracker-72a6dd11300a2d74c7a9f265b3f5906e6031f45f.tar.gz |
libtracker-miner: Always use interned files when emitting ::file-deleted
There were other places that didn't ensure that TrackerFileNotifier used
interned files when emitting ::file-* signals.
-rw-r--r-- | src/libtracker-miner/tracker-file-notifier.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/libtracker-miner/tracker-file-notifier.c b/src/libtracker-miner/tracker-file-notifier.c index ba225e89d..1dbbb199a 100644 --- a/src/libtracker-miner/tracker-file-notifier.c +++ b/src/libtracker-miner/tracker-file-notifier.c @@ -1104,9 +1104,17 @@ monitor_item_created_cb (TrackerMonitor *monitor, /* New file triggered a directory content * filter, remove parent directory altogether */ - g_signal_emit (notifier, signals[FILE_DELETED], 0, parent); - file_notifier_current_root_check_remove_directory (notifier, parent); + canonical = tracker_file_system_get_file (priv->file_system, + parent, G_FILE_TYPE_DIRECTORY, + NULL); g_object_unref (parent); + + g_object_ref (canonical); + g_signal_emit (notifier, signals[FILE_DELETED], 0, canonical); + file_notifier_current_root_check_remove_directory (notifier, canonical); + tracker_file_system_forget_files (priv->file_system, canonical, + G_FILE_TYPE_UNKNOWN); + g_object_unref (canonical); return; } |