If the size changes, we need to relayout the tiles. Otherwise we can keep
using what we had before. Generally, that shouldn't happen, but the
previous check was failing in a number of ways.
-(void)setFrame:(NSRect)frame
{
- if (CGRectEqualToRect (frame, self.frame))
- return;
-
- self->_layoutInvalid = TRUE;
+ if (frame.size.width != self.bounds.size.width ||
+ frame.size.height != self.bounds.size.height)
+ {
+ self->_layoutInvalid = TRUE;
+ [self setNeedsLayout];
+ }
[super setFrame:frame];
- [self setNeedsLayout];
}
-(void)setOpaqueRegion:(const cairo_region_t *)opaqueRegion