Minor pasteboard fix

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@8831 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Richard Frith-MacDonald 2001-01-27 06:57:21 +00:00
parent 53b5ff101c
commit d329613085
2 changed files with 18 additions and 10 deletions

View file

@ -1,3 +1,7 @@
2001-01-27 Richard Frith-Macdonald <rfm@gnu.org>
* Tools/gpbs.m: Cope better with nil pasteboard owners.
Fri Jan 26 22:36:21 2001 Nicola Pero <n.pero@mi.flashnet.it>
* Source/NSBrowser.m (NSBR_VOFFSET): Changed from 3 to 2.

View file

@ -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];