Re: Uninitialized rectangle??
Re: Uninitialized rectangle??
- Subject: Re: Uninitialized rectangle??
- From: Steven Degutis <email@hidden>
- Date: Wed, 3 Mar 2010 15:07:20 -0500
In this line:
NSRect frameRect = [[statusItem view] frame];
the method -view is returning nil, and thus so is -frame, which means
frameRect contains garbage (or NSZeroRect if you're lucky).
Create a dummy view and give it to the status item before asking for the
frame. Keep in mind, you will only get a value relative to the view's
superview, so that'll be useless too.
-Steven
On Wed, Mar 3, 2010 at 2:23 PM, fabian <email@hidden> wrote:
> Hi,
>
> I once noticed that this code caused an assertion failure when placed
> in awakeFromNib.
>
> NSStatusBar *statusBar = [NSStatusBar systemStatusBar];
> statusItem = [[statusBar statusItemWithLength:26] retain];
> NSRect frameRect = [[statusItem view] frame];
> MyStatusItemView *theView = [[MyStatusItemView alloc]
> initWithFrame:frameRect];
> [theView setDelegate:self];
> [statusItem setView:theView];
> [theView release];
>
> I didn't think much about it then - I simply moved the code to
> applicationDidFinishLaunching and everything was fine. But now I'm
> told the app is crashing nevertheless, AFAIK under 10.5.8 only:
>
> 3/2/10 3:12:49 PM MyProcess[13261] *** Assertion failure in
> -[MyStatusItemView initWithFrame:],
> /SourceCache/AppKit/AppKit-
> 949.54/AppKit.subproj/NSView.m:1099
> 3/2/10 3:12:49 PM MyProcess[13261] Uninitialized rectangle passed to
> [View initWithFrame:].
> 3/2/10 3:13:38 PM com.apple.launchd[115]
> ([0x0-0x104104].my.process[13261]) Exited abnormally: Interrupt
>
> It's definitely related to the app/nib not being up and ready to go.
> I'm displaying a dialog on first run in awakeFromNib. When the dialog
> is displayed (delaying the execution of this code), it works fine. On
> second launch it's a no go.
>
> How can the system status bar not be initialized at this point? It's
> not even part of the nib...
>
> Thanks.
> _______________________________________________
>
> Cocoa-dev mailing list (email@hidden)
>
> Please do not post admin requests or moderator comments to the list.
> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>
> Help/Unsubscribe/Update your Subscription:
>
> This email sent to email@hidden
>
--
Steven Degutis
http://www.thoughtfultree.com/
http://www.degutis.org/
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden