Ignore:
Timestamp:
Apr 28, 2012, 11:44:38 PM (10 years ago)
Author:
livings124
Message:

Don't use the screen size when there is no screen.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/macosx/Controller.m

    r13256 r13291  
    32513251                                    + (NSHeight([fWindow frame]) - NSHeight([[fWindow contentView] frame])); //contentView to window
    32523252       
    3253         if (windowSize.height < minHeight)
     3253        if (windowSize.height <= minHeight)
    32543254            windowSize.height = minHeight;
    32553255        else
    32563256        {
    3257             NSSize maxSize = [scrollView convertSize: [[fWindow screen] visibleFrame].size fromView: nil];
    3258             if (!fStatusBar)
    3259                 maxSize.height -= STATUS_BAR_HEIGHT;
    3260             if (!fFilterBar)
    3261                 maxSize.height -= FILTER_BAR_HEIGHT;
    3262             if (windowSize.height > maxSize.height)
    3263                 windowSize.height = maxSize.height;
     3257            NSScreen * screen = [fWindow screen];
     3258            if (screen)
     3259            {
     3260                NSSize maxSize = [scrollView convertSize: [screen visibleFrame].size fromView: nil];
     3261                if (!fStatusBar)
     3262                    maxSize.height -= STATUS_BAR_HEIGHT;
     3263                if (!fFilterBar)
     3264                    maxSize.height -= FILTER_BAR_HEIGHT;
     3265                if (windowSize.height > maxSize.height)
     3266                    windowSize.height = maxSize.height;
     3267                NSLog(@"%f %f", windowSize.height, [screen visibleFrame].size.height);
     3268            }
    32643269        }
    32653270    }
     
    33023307    }
    33033308   
    3304     NSRect frame;
    33053309    CGFloat heightChange = [[fStatusBar view] frame].size.height;
    33063310    if (!show)
     
    33103314    if (show && ![fDefaults boolForKey: @"AutoSize"])
    33113315    {
    3312         frame = [self windowFrameByAddingHeight: heightChange checkLimits: NO];
    3313         CGFloat change = [[fWindow screen] visibleFrame].size.height - frame.size.height;
    3314         if (change < 0.0)
    3315         {
    3316             frame = [fWindow frame];
    3317             frame.size.height += change;
    3318             frame.origin.y -= change;
    3319             [fWindow setFrame: frame display: NO animate: NO];
     3316        NSRect frame = [self windowFrameByAddingHeight: heightChange checkLimits: NO];
     3317       
     3318        NSScreen * screen = [fWindow screen];
     3319        if (screen)
     3320        {
     3321            CGFloat change = [screen visibleFrame].size.height - frame.size.height;
     3322            if (change < 0.0)
     3323            {
     3324                frame = [fWindow frame];
     3325                frame.size.height += change;
     3326                frame.origin.y -= change;
     3327                [fWindow setFrame: frame display: NO animate: NO];
     3328            }
    33203329        }
    33213330    }
     
    33373346    [scrollView setAutoresizingMask: NSViewNotSizable];
    33383347   
    3339     frame = [self windowFrameByAddingHeight: heightChange checkLimits: NO];
     3348    NSRect frame = [self windowFrameByAddingHeight: heightChange checkLimits: NO];
    33403349    [fWindow setFrame: frame display: YES animate: animate];
    33413350   
     
    34193428    {
    34203429        NSRect frame = [self windowFrameByAddingHeight: heightChange checkLimits: NO];
    3421         const CGFloat change = NSHeight([[fWindow screen] visibleFrame]) - NSHeight(frame);
    3422         if (change < 0.0)
    3423         {
    3424             frame = [fWindow frame];
    3425             frame.size.height += change;
    3426             frame.origin.y -= change;
    3427             [fWindow setFrame: frame display: NO animate: NO];
     3430       
     3431        NSScreen * screen = [fWindow screen];
     3432        if (screen)
     3433        {
     3434            CGFloat change = [screen visibleFrame].size.height - frame.size.height;
     3435            if (change < 0.0)
     3436            {
     3437                frame = [fWindow frame];
     3438                frame.size.height += change;
     3439                frame.origin.y -= change;
     3440                [fWindow setFrame: frame display: NO animate: NO];
     3441            }
    34283442        }
    34293443    }
     
    43494363- (NSRect) sizedWindowFrame
    43504364{
    4351     NSInteger groups = ([fDisplayedTorrents count] > 0 && ![[fDisplayedTorrents objectAtIndex: 0] isKindOfClass: [Torrent class]])
    4352                     ? [fDisplayedTorrents count] : 0;
     4365    NSUInteger groups = ([fDisplayedTorrents count] > 0 && ![[fDisplayedTorrents objectAtIndex: 0] isKindOfClass: [Torrent class]])
     4366                        ? [fDisplayedTorrents count] : 0;
    43534367   
    43544368    CGFloat heightChange = (GROUP_SEPARATOR_HEIGHT + [fTableView intercellSpacing].height) * groups
Note: See TracChangeset for help on using the changeset viewer.