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;
}
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;
}
return result;
}
+ internal void DispatchErrorEvents (ErrorEventArgs args)
+ {
+ OnError (args);
+ }
+
internal void DispatchEvents (FileAction act, string filename, ref RenamedEventArgs renamed)
{
if (waiting) {