diff --git a/src/nautilus-application.c b/src/nautilus-application.c index e9f97ed2f17a0bb5f313b1bb0afc65a2a4b04da9..0ff06795d002c8afc9b398c1b96774565985d00d 100644 --- a/src/nautilus-application.c +++ b/src/nautilus-application.c @@ -32,6 +32,7 @@ #include #include #include +#include #include #include #include @@ -88,6 +89,8 @@ typedef struct NautilusTagManager *tag_manager; + GUnixMountMonitor *mount_monitor; + NautilusDBusLauncher *dbus_launcher; } NautilusApplicationPrivate; @@ -567,6 +570,8 @@ nautilus_application_finalize (GObject *object) g_clear_object (&priv->tag_manager); + g_clear_object (&priv->mount_monitor); + g_clear_object (&priv->dbus_launcher); nautilus_trash_monitor_clear (); @@ -996,6 +1001,11 @@ nautilus_application_init (NautilusApplication *self) priv->undo_manager = nautilus_file_undo_manager_new (); priv->tag_manager = nautilus_tag_manager_new (); + /* Retain a mount monitor so GIO's caching works. This helps to speed + * up various filesystem queries, e.g. those determining whether to + * recurse during searches. */ + priv->mount_monitor = g_unix_mount_monitor_get (); + priv->dbus_launcher = nautilus_dbus_launcher_new (); nautilus_tracker_setup_miner_fs_connection (); diff --git a/src/nautilus-search-engine-simple.c b/src/nautilus-search-engine-simple.c index 8d1a1ea9d99c6c0f338977ec2abec7ed6cda3621..b8800bc43bd5bcfa42d678ad9e7dee64bfba76af 100644 --- a/src/nautilus-search-engine-simple.c +++ b/src/nautilus-search-engine-simple.c @@ -29,7 +29,6 @@ #include #include -#include #include #define BATCH_SIZE 500 @@ -484,20 +483,11 @@ static gpointer search_thread_func (gpointer user_data) { SearchThreadData *data; - g_autoptr (GUnixMountMonitor) mount_monitor = NULL; GFile *dir; GFileInfo *info; const char *id; data = user_data; - - if (nautilus_query_get_recursive (data->query) == NAUTILUS_QUERY_RECURSIVE_LOCAL_ONLY) - { - /* Need to retain a mount monitor so that filesystem queries used to - * determine if we recurse are done fast. */ - mount_monitor = g_unix_mount_monitor_get (); - } - /* Insert id for toplevel directory into visited */ dir = g_queue_peek_head (data->directories); info = g_file_query_info (dir, G_FILE_ATTRIBUTE_ID_FILE, 0, data->cancellable, NULL);