X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mcs%2Fclass%2FSystem%2FSystem.IO%2FFileSystemWatcher.cs;h=43d3c2f362e1f681a13c46a53265585006de6e6a;hb=7ba748c8b85adcc7adb5ff81419313e76a287469;hp=125f07805f9403f212fe5789357ff92bd0d02f33;hpb=35899c07fff7f7e4c6533364091bbac6ce86fdfd;p=mono.git diff --git a/mcs/class/System/System.IO/FileSystemWatcher.cs b/mcs/class/System/System.IO/FileSystemWatcher.cs index 125f07805f9..43d3c2f362e 100644 --- a/mcs/class/System/System.IO/FileSystemWatcher.cs +++ b/mcs/class/System/System.IO/FileSystemWatcher.cs @@ -183,7 +183,10 @@ namespace System.IO { internal SearchPattern2 Pattern { get { if (pattern == null) { - pattern = new SearchPattern2 (MangledFilter); + if (watcher.GetType () == typeof (KeventWatcher)) + pattern = new SearchPattern2 (MangledFilter, true); //assume we want to ignore case (OS X) + else + pattern = new SearchPattern2 (MangledFilter); } return pattern; } @@ -378,16 +381,18 @@ namespace System.IO { return; if (synchronizingObject == null) { - switch (evtype) { - case EventType.RenameEvent: - ((RenamedEventHandler)ev).BeginInvoke (this, (RenamedEventArgs) arg, null, null); - break; - case EventType.ErrorEvent: - ((ErrorEventHandler)ev).BeginInvoke (this, (ErrorEventArgs) arg, null, null); - break; - case EventType.FileSystemEvent: - ((FileSystemEventHandler)ev).BeginInvoke (this, (FileSystemEventArgs) arg, null, null); - break; + foreach (var target in ev.GetInvocationList()) { + switch (evtype) { + case EventType.RenameEvent: + ((RenamedEventHandler)target).BeginInvoke (this, (RenamedEventArgs)arg, null, null); + break; + case EventType.ErrorEvent: + ((ErrorEventHandler)target).BeginInvoke (this, (ErrorEventArgs)arg, null, null); + break; + case EventType.FileSystemEvent: + ((FileSystemEventHandler)target).BeginInvoke (this, (FileSystemEventArgs)arg, null, null); + break; + } } return; } @@ -447,6 +452,11 @@ namespace System.IO { return result; } + internal void DispatchErrorEvents (ErrorEventArgs args) + { + OnError (args); + } + internal void DispatchEvents (FileAction act, string filename, ref RenamedEventArgs renamed) { if (waiting) {