Index: rhythmdb/rhythmdb.c
===================================================================
RCS file: /cvs/gnome/rhythmbox/rhythmdb/rhythmdb.c,v
retrieving revision 1.150
diff -u -u -r1.150 rhythmdb.c
--- rhythmdb/rhythmdb.c	11 Dec 2005 04:39:30 -0000	1.150
+++ rhythmdb/rhythmdb.c	11 Dec 2005 10:21:18 -0000
@@ -1422,7 +1422,8 @@
 			if (mtime == event->vfsinfo->mtime) {
 				rb_debug ("not modified: %s", event->real_uri);
 				/* monitor the file for changes */
-				rhythmdb_monitor_uri_path (db, entry->location, NULL /* FIXME */);
+				if (eel_gconf_get_boolean (CONF_MONITOR_LIBRARY))
+					rhythmdb_monitor_uri_path (db, entry->location, NULL /* FIXME */);
 			} else {
 				RhythmDBEvent *new_event;
 
@@ -1548,7 +1549,8 @@
 
 	/* monitor the file for changes */
 	/* FIXME: watch for errors */
-	rhythmdb_monitor_uri_path (db, entry->location, NULL);
+	if (eel_gconf_get_boolean (CONF_MONITOR_LIBRARY))
+		rhythmdb_monitor_uri_path (db, entry->location, NULL);
 
 	rhythmdb_commit_internal (db, FALSE);
 	
@@ -3743,7 +3745,7 @@
 }
 
 static void
-monitor_subdirectory (char *uri, RhythmDB *db)
+monitor_subdirectory (const char *uri, RhythmDB *db)
 {
 	GError *error = NULL;
 
@@ -3826,10 +3828,10 @@
 		if (db->priv->library_locations) {
 			g_slist_foreach (db->priv->library_locations, (GFunc) monitor_library_directory, db);
 		}
-	}
 
-	/* monitor every directory that contains a (TYPE_SONG) track */
-	rhythmdb_entry_foreach (db, (GFunc) monitor_entry_file, db);
+		/* monitor every directory that contains a (TYPE_SONG) track */
+		rhythmdb_entry_foreach (db, (GFunc) monitor_entry_file, db);
+	}
 }
 
 static void
