* Source/NSView.m (-updateBoundsMatrix):

Fix a bug where updateBoundsMatrix would refuse to restore a
view's scale to its original value, after a modified bounds rect
had been set.
* Source/NSView.m (-setBounds:, -setBoundsOrigin:, -setBoundsSize:):
Call [self setNeedsDisplay: YES]; at the ends of these methods.
While the Cocoa docs explicitly say that calling these methods
won't mark the view as needing redisplay, this doesn't seem to
be true in practice.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@32955 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Eric Wasylishen 2011-04-30 06:40:14 +00:00
parent 019d81dc22
commit b00942ae92
2 changed files with 30 additions and 6 deletions

View file

@ -1,3 +1,15 @@
2011-04-30 Eric Wasylishen <ewasylishen@gmail.com>
* Source/NSView.m (-updateBoundsMatrix):
Fix a bug where updateBoundsMatrix would refuse to restore a
view's scale to its original value, after a modified bounds rect
had been set.
* Source/NSView.m (-setBounds:, -setBoundsOrigin:, -setBoundsSize:):
Call [self setNeedsDisplay: YES]; at the ends of these methods.
While the Cocoa docs explicitly say that calling these methods
won't mark the view as needing redisplay, this doesn't seem to
be true in practice.
2011-04-29 Eric Wasylishen <ewasylishen@gmail.com>
* Source/NSOutlineView.m: Implement -keyDown: to expand/contract

View file

@ -1137,13 +1137,13 @@ GSSetDragTypes(NSView* obj, NSArray *types)
if (scale.width != 1 || scale.height != 1)
{
_is_rotated_or_scaled_from_base = YES;
if (_boundsMatrix == nil)
{
_boundsMatrix = [NSAffineTransform new];
}
[_boundsMatrix scaleTo: scale.width : scale.height];
}
if (_boundsMatrix == nil)
{
_boundsMatrix = [NSAffineTransform new];
}
[_boundsMatrix scaleTo: scale.width : scale.height];
}
- (void) setFrame: (NSRect)frameRect
@ -1416,6 +1416,10 @@ GSSetDragTypes(NSView* obj, NSArray *types)
object: self];
}
}
// FIXME: Should not be called here according to Cocoa docs, but
// Cocoa seems to in practice
[self setNeedsDisplay: YES];
}
- (void) setBoundsOrigin: (NSPoint)newOrigin
@ -1436,6 +1440,10 @@ GSSetDragTypes(NSView* obj, NSArray *types)
}
[self translateOriginToPoint: NSMakePoint(oldOrigin.x - newOrigin.x,
oldOrigin.y - newOrigin.y)];
// FIXME: Should not be called here according to Cocoa docs, but
// Cocoa seems to in practice
[self setNeedsDisplay: YES];
}
- (void) setBoundsSize: (NSSize)newSize
@ -1473,6 +1481,10 @@ GSSetDragTypes(NSView* obj, NSArray *types)
object: self];
}
}
// FIXME: Should not be called here according to Cocoa docs, but
// Cocoa seems to in practice
[self setNeedsDisplay: YES];
}
- (void) setBoundsRotation: (float)angle