diff --git a/AppKit/CPPopover.j b/AppKit/CPPopover.j index c887fcf7c..e382b1a58 100644 --- a/AppKit/CPPopover.j +++ b/AppKit/CPPopover.j @@ -150,7 +150,7 @@ var CPPopoverDelegate_popover_willShow_ = 1 << 0, */ - (void)setContentSize:(CGSize)aSize { - [[_contentViewController view] setFrameSize:aSize]; + [_popoverWindow updateFrameWithSize:aSize]; } /*! diff --git a/AppKit/_CPPopoverWindow.j b/AppKit/_CPPopoverWindow.j index 852136230..ddff584c5 100644 --- a/AppKit/_CPPopoverWindow.j +++ b/AppKit/_CPPopoverWindow.j @@ -366,6 +366,21 @@ var _CPPopoverWindow_shouldClose_ = 1 << 4, return CPBrowserStyleProperty('transition') && CPBrowserStyleProperty('transitionend'); } +/*! + @ignore +*/ +- (void)updateFrameWithSize:(CGSize)aSize +{ + var rect = CGRectMakeZero(); + rect.size = aSize; + rect.origin = [[self contentView] frameOrigin]; + + [self setFrame:[self frameRectForContentRect:rect]]; + + var point = [self computeOriginFromRect:[_targetView bounds] ofView:_targetView preferredEdge:[_windowView preferredEdge]]; + [self setFrameOrigin:point]; +} + #pragma mark - #pragma mark Actions