Re: IB 3.0 plugin & error "NSMapRemove(): attempt to remove notAKeyMarker" when saving NIB
Re: IB 3.0 plugin & error "NSMapRemove(): attempt to remove notAKeyMarker" when saving NIB
- Subject: Re: IB 3.0 plugin & error "NSMapRemove(): attempt to remove notAKeyMarker" when saving NIB
- From: Jonathan Hess <email@hidden>
- Date: Thu, 7 Feb 2008 14:43:29 -0800
On Feb 6, 2008, at 1:46 AM, Jens Miltner wrote:
Am 22.11.2007 um 11:27 schrieb Jonathan Hess:
Hey Jens -
I would guess that that is where an exception is being re-raised.
Do you have a break point on just -[NSException raise]? Or do you
have a break point on objc_exception_throw? objc_exception_throw is
the obj-c exception throwing funnel on Leopard.
If you're able to get a backtrace from the real exception source,
perhaps I can give you better information about the cause of the
exception.
Sorry for the delay - somehow your message got burried inside the
depths of my INBOX :(
Anyway, here's the backtrace from the first break at
objc_exception_throw:
#0 0x93d63077 in objc_exception_throw ()
#1 0x9137904b in +[NSException raise:format:arguments:] ()
[snip]
#53 0x92ea7705 in -[NSApplication run] ()
#54 0x92e749ba in NSApplicationMain ()
Does this ring any bells? It seems to point to the connections being
somehow 'invalid', but I have no idea why.
I can reproduce this with two different IB plugins for different
custom view/control classes I have written. In both cases, I just
followed the documentation for creating new IB plugins, but
apparently, something in those classes seems to be not 100%
compatible with IB 3.0?
It even happens when I just create a new window NIB, drag my custom
control into the window and try to save as NIB 2.0.
If it's not something in my code, I'll happily file a bug report,
but I would like to make sure it's not something in my code that
causes this problem first...
Hey Jens -
I don't think there is actually anything wrong with the connections,
IBCountConnectionsForObject isn't recursive, so I think the backtrace
is showing the wrong symbols. What type of object does your plug-in
integrate? Is it by chance an NSControl subclass that doesn't have an
NSCell instance? If not, I think I'll need a radar with a small
version of your plug-in to fix the problem.
Jon Hess
-jens
Jon Hess
On Nov 20, 2007, at 3:33 AM, Jens Miltner wrote:
Hi,
I have created an IB 3.0 plugin that handles 3 of our custom
classes.
For one of them, whenever I try to save a NIB in 2.x format,
saving fails with the following error written to the console:
2007-11-20 12:17:55.955 Interface Builder[65811:10b] ***
NSMapRemove(): attempt to remove notAKeyMarker
For the other two custom classes, saving works just fine. All of
the custom classes have an inspector palette, and I can't see
anything I'd be doing wrong.
In fact, for the class that fails to save to 2.x format, I can
save it to both 3.x NIB and XIB format, but just not to 2.x NIB
format (which is unfortunate, since we need to share this with
Tiger developers :( )
Also, when saving fails, my -[MyClass encodeWithCoder:] method is
not even called, the error appears to happen earlier.
The backtrace at the time the exception is raised is also not very
helpful to me - I have no idea which operation would trigger the
exception:
#0 0x917ecd86 in -[NSException raise] ()
#1 0x9441a5ab in -[NSCarbonMenuImpl
performActionWithHighlightingForItemAtIndex:] ()
#2 0x9441a1f2 in -[NSMenu performKeyEquivalent:] ()
#3 0x94418a99 in -[NSApplication _handleKeyEquivalent:] ()
#4 0x94335e4e in -[NSApplication sendEvent:] ()
#5 0x00004667 in ?? ()
#6 0x94293705 in -[NSApplication run] ()
#7 0x942609ba in NSApplicationMain ()
#8 0x00006cae in ?? ()
My code just doesn't seem to be involved with the save operation
itself, however, saving _only_ fails if an instance of this
specific custom view class is contained in the NIB...
I already tried removing all bindings from my inspector palette,
in case this causes the problem, but to no avail...
Since I have no further ideas what to look for - did anybody else
experience a similar problem and if so, what was the solution?
Any hints desperately welcome...
Thanks,
</jum>
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden