$OpenBSD: patch-src_trackerd_tracker-monitor_c,v 1.1 2009/10/28 20:28:18 jasper Exp $

Fix a segfault where there is no monitor running.

--- src/trackerd/tracker-monitor.c.orig	Sun Apr 26 12:22:58 2009
+++ src/trackerd/tracker-monitor.c	Wed Oct 28 21:06:25 2009
@@ -208,6 +208,7 @@ tracker_monitor_init (TrackerMonitor *object)
 	GFileMonitor	      *monitor;
 	GList		      *all_modules, *l;
 	const gchar	      *name;
+	GError	    	      *error = NULL;
 
 	object->private = TRACKER_MONITOR_GET_PRIVATE (object);
 
@@ -276,7 +277,17 @@ tracker_monitor_init (TrackerMonitor *object)
 	monitor = g_file_monitor_directory (file,
 					    G_FILE_MONITOR_WATCH_MOUNTS,
 					    NULL,
-					    NULL);
+					    &error);
+
+	/* Directory monitoring is missing, error out, don't crash. */
+	if (error) {
+		g_critical ("Could not obtain monitor: %s", error->message);
+		g_error_free (error);
+
+		exit (EXIT_FAILURE);
+		return FALSE;
+	}
+		
 
 	priv->monitor_backend = G_OBJECT_TYPE (monitor);
 
