mirror of
https://github.com/gnustep/libs-gui.git
synced 2025-06-01 00:50:49 +00:00
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:
parent
eb6b10fafb
commit
9ee1db1efc
2 changed files with 18 additions and 10 deletions
|
@ -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>
|
Fri Jan 26 22:36:21 2001 Nicola Pero <n.pero@mi.flashnet.it>
|
||||||
|
|
||||||
* Source/NSBrowser.m (NSBR_VOFFSET): Changed from 3 to 2.
|
* Source/NSBrowser.m (NSBR_VOFFSET): Changed from 3 to 2.
|
||||||
|
|
24
Tools/gpbs.m
24
Tools/gpbs.m
|
@ -414,38 +414,42 @@ NSMutableDictionary *pasteboards = nil;
|
||||||
|
|
||||||
- (void) lostOwnership
|
- (void) lostOwnership
|
||||||
{
|
{
|
||||||
NSMutableArray* a = [NSMutableArray arrayWithCapacity:4];
|
NSMutableArray *a = [NSMutableArray arrayWithCapacity: 4];
|
||||||
unsigned i;
|
unsigned i;
|
||||||
|
|
||||||
NS_DURING
|
NS_DURING
|
||||||
{
|
{
|
||||||
if (wantsChangedOwner)
|
if (wantsChangedOwner == YES && owner != nil)
|
||||||
{
|
{
|
||||||
[a addObject: owner];
|
[a addObject: owner];
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = 0; i < [items count]; i++)
|
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]];
|
[a addObject: [d owner]];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (wantsChangedOwner)
|
if (wantsChangedOwner == YES)
|
||||||
{
|
{
|
||||||
[a removeObject: owner];
|
|
||||||
[owner pasteboardChangedOwner: pboard];
|
[owner pasteboardChangedOwner: pboard];
|
||||||
|
if (owner != nil)
|
||||||
|
{
|
||||||
|
[a removeObject: owner];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = 0; i < [items count] && [a count] > 0; i++)
|
for (i = 0; i < [items count] && [a count] > 0; i++)
|
||||||
{
|
{
|
||||||
PasteboardData* d = [items objectAtIndex:i];
|
PasteboardData *d = [items objectAtIndex:i];
|
||||||
id o = [d owner];
|
id o = [d owner];
|
||||||
|
|
||||||
if ([a containsObject: o])
|
if (o != nil && [a containsObject: o])
|
||||||
{
|
{
|
||||||
[o pasteboardChangedOwner: [d pboard]];
|
[o pasteboardChangedOwner: [d pboard]];
|
||||||
[a removeObject: o];
|
[a removeObject: o];
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue