Index: beagled/FilterFactory.cs
===================================================================
RCS file: /cvs/gnome/beagle/beagled/FilterFactory.cs,v
retrieving revision 1.16
diff -u -B -p -r1.16 FilterFactory.cs
--- beagled/FilterFactory.cs	2 Sep 2005 19:18:58 -0000	1.16
+++ beagled/FilterFactory.cs	21 Oct 2005 21:35:07 -0000
@@ -216,7 +216,7 @@ namespace Beagle.Daemon {
 			if (indexable.MimeType != null)
 				filters = CreateFiltersFromMimeType (indexable.MimeType);
 
-			if (indexable.IsNonTransient) {
+			if (indexable.ContentUri.IsFile) {
 				path = indexable.ContentUri.LocalPath;
 
 				// Otherwise sniff the mime-type from the file
@@ -230,9 +230,11 @@ namespace Beagle.Daemon {
 				if (Directory.Exists (path)) {
 					indexable.MimeType = "inode/directory";
 					indexable.NoContent = true;
-					indexable.Timestamp = Directory.GetLastWriteTime (path);
+					if (indexable.IsNonTransient)
+						indexable.Timestamp = Directory.GetLastWriteTime (path);
 				} else if (File.Exists (path)) {
-					indexable.Timestamp = File.GetLastWriteTime (path);
+					if (indexable.IsNonTransient)
+						indexable.Timestamp = File.GetLastWriteTime (path);
 				} else {
 					Logger.Log.Warn ("No such file: {0}", path);
 					return false;
Index: beagled/FileSystemQueryable/FileSystemQueryable.cs
===================================================================
RCS file: /cvs/gnome/beagle/beagled/FileSystemQueryable/FileSystemQueryable.cs,v
retrieving revision 1.87
diff -u -B -p -r1.87 FileSystemQueryable.cs
--- beagled/FileSystemQueryable/FileSystemQueryable.cs	15 Sep 2005 21:43:41 -0000	1.87
+++ beagled/FileSystemQueryable/FileSystemQueryable.cs	21 Oct 2005 21:35:09 -0000
@@ -1150,15 +1138,6 @@ namespace Beagle.Daemon.FileSystemQuerya
 		// Our magic LuceneQueryable hooks
 		//
 
-		override protected bool PreChildAddHook (Indexable child)
-		{
-			// FIXME: Handling Uri remapping of children is tricky, and there
-			// is also the issue of properly serializing file: uris that
-			// contain fragments.  For now we just punt it all by dropping
-			// any child indexables of file system objects.
-			return false;
-		}
-
 		override protected void PostAddHook (Indexable indexable, IndexerAddedReceipt receipt)
 		{
 			// If we just changed properties, remap to our *old* external Uri
@@ -1177,6 +1156,10 @@ namespace Beagle.Daemon.FileSystemQuerya
 				return;
 			}
 
+			// We don't have anything to do if we are dealing with a child indexable
+			if (indexable.ParentUri != null)
+				return;
+
 			string path;
 			path = (string) indexable.LocalState ["Path"];
 			ForgetId (path);
@@ -1236,8 +1219,13 @@ namespace Beagle.Daemon.FileSystemQuerya
 			string name, parent_id_uri;
 			name = hit [ExactFilenamePropKey];
 			if (name == null)
+				name = hit ["parent:" + ExactFilenamePropKey];
+			if (name == null)
 				return false;
+	
 			parent_id_uri = hit [ParentDirUriPropKey];
+			if (parent_id_uri == null)
+				parent_id_uri = hit ["parent:" + ParentDirUriPropKey];
 			if (parent_id_uri == null)
 				return false;
 
