From 9ee1db1efc477b68a0f9cd7d22869dbc46e42e10 Mon Sep 17 00:00:00 2001 From: richard Date: Sat, 27 Jan 2001 06:57:21 +0000 Subject: [PATCH] Minor pasteboard fix git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@8831 72102866-910b-0410-8b05-ffd578937521 --- ChangeLog | 4 ++++ Tools/gpbs.m | 24 ++++++++++++++---------- 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/ChangeLog b/ChangeLog index 859d82511..9c554fa5d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2001-01-27 Richard Frith-Macdonald + + * Tools/gpbs.m: Cope better with nil pasteboard owners. + Fri Jan 26 22:36:21 2001 Nicola Pero * Source/NSBrowser.m (NSBR_VOFFSET): Changed from 3 to 2. diff --git a/Tools/gpbs.m b/Tools/gpbs.m index 6e437ade7..ce98978ce 100644 --- a/Tools/gpbs.m +++ b/Tools/gpbs.m @@ -414,38 +414,42 @@ NSMutableDictionary *pasteboards = nil; - (void) lostOwnership { - NSMutableArray* a = [NSMutableArray arrayWithCapacity:4]; - unsigned i; + NSMutableArray *a = [NSMutableArray arrayWithCapacity: 4]; + unsigned i; NS_DURING { - if (wantsChangedOwner) + if (wantsChangedOwner == YES && owner != nil) { [a addObject: owner]; } for (i = 0; i < [items count]; i++) { - PasteboardData* d = [items objectAtIndex:i]; + PasteboardData *d = [items objectAtIndex: i]; - if ([d wantsChangedOwner] && [a containsObject: [d owner]] == NO) + if ([d wantsChangedOwner] == YES && [d owner] != nil + && [a containsObject: [d owner]] == NO) { [a addObject: [d owner]]; } } - if (wantsChangedOwner) + if (wantsChangedOwner == YES) { - [a removeObject: owner]; [owner pasteboardChangedOwner: pboard]; + if (owner != nil) + { + [a removeObject: owner]; + } } for (i = 0; i < [items count] && [a count] > 0; i++) { - PasteboardData* d = [items objectAtIndex:i]; - id o = [d owner]; + PasteboardData *d = [items objectAtIndex:i]; + id o = [d owner]; - if ([a containsObject: o]) + if (o != nil && [a containsObject: o]) { [o pasteboardChangedOwner: [d pboard]]; [a removeObject: o];