diff --git a/ChangeLog b/ChangeLog index 158052caa..0b7102462 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,11 +1,16 @@ +2002-06-10 Alexander Malmberg + + * Source/GSServicesManager.m (-performService:...): Create + and use a local copy of the NSPasteboard. + 2002-06-08 Alexander Malmberg - * Source/NSWindow (-_initDefaults): Make _miniaturizedImage + * Source/NSWindow.m (-_initDefaults): Make _miniaturizedImage default to the application icon. 2002-06-08 Alexander Malmberg - * Source/GSServicesProvider.m (-doService:): Only try to + * Source/GSServicesManager.m (-doService:): Only try to write/read selection if the send/return type isn't nil. Fix calls to NSRunAlertPanel() so they don't do printf() expansion on the message twice. diff --git a/Source/GSServicesManager.m b/Source/GSServicesManager.m index 44666bbaf..881f477de 100644 --- a/Source/GSServicesManager.m +++ b/Source/GSServicesManager.m @@ -316,6 +316,14 @@ NSRegisterServicesProvider(id provider, NSString *name) SEL msgSel = NSSelectorFromString(name); IMP msgImp; + /* + Create a local NSPasteboard object for this pasteboard. If we try to + use the remote NSPasteboard object, we get trouble when setting property + lists since the remote NSPasteboard fails to serialize the local property + list objects for sending to gpbs. + */ + pb = [NSPasteboard pasteboardWithName: [pb name]]; + if (obj != nil && [obj respondsToSelector: msgSel]) { msgImp = [obj methodForSelector: msgSel];