file monitors: report MOVED only with both sides

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
This commit is contained in:
Ryan Lortie 2015-07-06 10:21:33 -04:00
parent c5221f8aea
commit 7ed76a4eca

View 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);