Re: C++ exception inside -[NSString drawWithRect:options:attributes:]

2009-09-28 Thread Kyle Sluder
On Mon, Sep 28, 2009 at 1:26 PM, James Walker wrote: > Because my code base is at least 50% Carbon and I don't have time to do a > huge rewrite with minimal benefit to the user. Fair enough, it was kind of a tangential point. Anyway, if it seems to work, then you might as well just let it go. Pe

Re: C++ exception inside -[NSString drawWithRect:options:attributes:]

2009-09-28 Thread James Walker
Kyle Sluder wrote: On Mon, Sep 28, 2009 at 11:52 AM, James Walker wrote: I thought the unified exception model was only in 64 bit code? I don't see what that would have to do with it anyway, since I was trying to break on C++ exceptions, and did get a C++ exception. Oh, you're not building 6

Re: C++ exception inside -[NSString drawWithRect:options:attributes:]

2009-09-28 Thread Kyle Sluder
On Mon, Sep 28, 2009 at 11:52 AM, James Walker wrote: > I thought the unified exception model was only in 64 bit code?  I don't see > what that would have to do with it anyway, since I was trying to break on > C++ exceptions, and did get a C++ exception. Oh, you're not building 64-bit? (I guess

Re: C++ exception inside -[NSString drawWithRect:options:attributes:]

2009-09-28 Thread Kyle Sluder
On Mon, Sep 28, 2009 at 11:50 AM, Sander Stoks wrote: > That is by no means dictated by C++.  In fact, it's quite common to reserve > exceptions for "exceptional" cases in C++ as well.  C++ exceptions can be > free as long as they aren't thrown, but the cost if they are can be > substantial. Nobo

Re: C++ exception inside -[NSString drawWithRect:options:attributes:]

2009-09-28 Thread James Walker
Kyle Sluder wrote: On Mon, Sep 28, 2009 at 11:21 AM, James Walker wrote: The drawing seems to work, I'm just curious, and this hasn't happened before Snow Leopard. Because of the unified exception model, code that throws and catches exceptions as a matter of course will trip up the debugger i

Re: C++ exception inside -[NSString drawWithRect:options:attributes:]

2009-09-28 Thread Sander Stoks
On Sep 28, 2009, at 8:38 PM, Kyle Sluder wrote: C++ code uses exceptions as a control-flow mechanism, whereas Cocoa reserves them for programmer error. That is by no means dictated by C++. In fact, it's quite common to reserve exceptions for "exceptional" cases in C++ as well. C++ excep

Re: C++ exception inside -[NSString drawWithRect:options:attributes:]

2009-09-28 Thread Kyle Sluder
On Mon, Sep 28, 2009 at 11:21 AM, James Walker wrote: > The drawing seems to work, I'm just curious, and this hasn't happened before > Snow Leopard. Because of the unified exception model, code that throws and catches exceptions as a matter of course will trip up the debugger if it's set to break

C++ exception inside -[NSString drawWithRect:options:attributes:]

2009-09-28 Thread James Walker
When I run under the debugger, breaking on C++ exceptions, I get an exception during -[NSString drawWithRect:options:attributes:]. Here's the backtrace: #0 0x94d5b259 in __cxa_throw () #1 0x91426bfb in SelectStreamType () #2 0x914228fa in TTPerformStreamingTypeQuery () #3 0x90e3c25a in TCo