Index: Source/NSApplication.m
===================================================================
--- Source/NSApplication.m (revision 35352)
+++ Source/NSApplication.m (working copy)
@@ -1122,10 +1122,17 @@
{
NSEnumerator *en = [files objectEnumerator];
- while ((filePath = (NSString *)[en nextObject]) != nil)
+ if ([files count] > 1)
{
- [_listener application: self openFile: filePath];
+ [_listener application: self openFiles: files];
}
+ else
+ {
+ while ((filePath = (NSString *)[en nextObject]) != nil)
+ {
+ [_listener application: self openFile: filePath];
+ }
+ }
}
else if ((filePath = [defs stringForKey: @"GSFilePath"]) != nil
|| (filePath = [defs stringForKey: @"NSOpen"]) != nil)
@@ -3555,6 +3562,7 @@
* - application:shouldTerminateAfterLastWindowClosed:
* - application:shouldOpenUntitledFile:
* - application:openFile:
+ * - application:openFiles:
* - application:openFileWithoutUI:
* - application:openTempFile:
* - application:openUntitledFile:
Index: Source/GSServicesManager.m
===================================================================
--- Source/GSServicesManager.m (revision 35352)
+++ Source/GSServicesManager.m (working copy)
@@ -591,6 +591,18 @@
return result;
}
+- (void) application: (NSApplication*)theApp
+ openFiles: (NSArray*)files
+{
+ id del = [NSApp delegate];
+
+ if ([del respondsToSelector: _cmd])
+ {
+ [del application: theApp openFiles: files];
+ }
+}
+
+
- (BOOL) application: (NSApplication*)theApp
openFileWithoutUI: (NSString*)file
{