file monitors: report MOVED only with both sides
authorRyan Lortie <desrt@desrt.ca>
Mon, 6 Jul 2015 14:21:33 +0000 (10:21 -0400)
committerRyan Lortie <desrt@desrt.ca>
Mon, 6 Jul 2015 14:22:36 +0000 (10:22 -0400)
Make sure we know the destination file before reporting a MOVED event.
Otherwise, we should just fall back to reporting it as a DELETED.

https://bugzilla.gnome.org/show_bug.cgi?id=751731

gio/glocalfilemonitor.c

index 8a5c442..dcd39cf 100644 (file)
@@ -385,7 +385,7 @@ g_file_monitor_source_handle_event (GFileMonitorSource *fms,
       g_assert (!rename_to);
       if (fms->flags & G_FILE_MONITOR_WATCH_MOVES)
         g_file_monitor_source_send_event (fms, G_FILE_MONITOR_EVENT_MOVED_OUT, child, other);
-      else if (fms->flags & G_FILE_MONITOR_SEND_MOVED)
+      else if (other && (fms->flags & G_FILE_MONITOR_SEND_MOVED))
         g_file_monitor_source_send_event (fms, G_FILE_MONITOR_EVENT_MOVED, child, other);
       else
         g_file_monitor_source_send_event (fms, G_FILE_MONITOR_EVENT_DELETED, child, NULL);