Re: Cocoa-dev Digest, Vol 16, Issue 72

2019-08-28 Thread Jens Alfke via Cocoa-dev
> On Aug 27, 2019, at 7:21 PM, Turtle Creek Software > wrote: > > What I can't find is where the __bridge cast should go. The compiler > complains at all locations. > The app runs the same, but will ARC be OK without it? You shouldn't need to use __bridge at all, since you're no longer casti

Re: Cocoa-dev Digest, Vol 16, Issue 72

2019-08-27 Thread Turtle Creek Software via Cocoa-dev
There is an option in Build Settings, Apple Clang, to Compile Sources As. That converts everything at once. Previously I didn't notice Obj-C++ at the bottom. The C++ classes do build and run OK with that selected. Using the hybrid forward declaration that Uli suggests, I converted one of our C++

Re: Cocoa-dev Digest, Vol 16, Issue 72

2019-08-27 Thread Uli Kusterer via Cocoa-dev
On 8/26/2019 2:49 AM, Turtle Creek Software via Cocoa-dev wrote: > In the hybrid C++/Obj-C++ files, we use __bridge on all the casts of void > pointers to Cocoa object > No use of NSBridgingRetain or Release at all. Is that necessary under ARC? NSBridgingRetain() etc. are basically wrappers ar

Re: Cocoa-dev Digest, Vol 16, Issue 72

2019-08-27 Thread Jens Alfke via Cocoa-dev
> On Aug 27, 2019, at 12:35 PM, Turtle Creek Software > wrote: > > We are happy with the lifetime management in our C++ classes. You're having mysterious ref-counting bugs, so the fact that you're storing Obj-C references as void* sets off alarm bells. > And C++ keeps improving. ARC doesn

Re: Cocoa-dev Digest, Vol 16, Issue 72

2019-08-27 Thread Turtle Creek Software via Cocoa-dev
We are happy with the lifetime management in our C++ classes. And C++ keeps improving. ARC doesn't go there and that is fine. We tried QT early on, but decided against it. Casey McDermott TurtleSoft.com On Tue, Aug 27, 2019 at 2:35 PM Jens Alfke wrote: > > > On Aug 26, 2019, at 6:22 PM, Turt

Re: Cocoa-dev Digest, Vol 16, Issue 72

2019-08-27 Thread Jens Alfke via Cocoa-dev
> On Aug 26, 2019, at 6:22 PM, Turtle Creek Software > wrote: > > There are links between each Cocoa control class and its matching C++ control > (which also owns a native MFC control). > Also links between the view and our C++ controller, to load window layouts > and set up the control li

Re: Cocoa-dev Digest, Vol 16, Issue 72

2019-08-26 Thread Turtle Creek Software via Cocoa-dev
>> Again, why does cross-platform code need to have references to platform-specific view/controller types? There are links between each Cocoa control class and its matching C++ control (which also owns a native MFC control). Also links between the view and our C++ controller, to load window layout

Re: Cocoa-dev Digest, Vol 16, Issue 72

2019-08-26 Thread Jens Alfke via Cocoa-dev
> On Aug 26, 2019, at 1:15 PM, Turtle Creek Software > wrote: > > Our C++ is cross-platform. More importantly, we have a LOT of accounting and > business logic in C++. > To rewrite and test it would be 5 or 10 programmer-years. I can understand the model and some of the controller logic bei

Re: Cocoa-dev Digest, Vol 16, Issue 72

2019-08-26 Thread Turtle Creek Software via Cocoa-dev
Our C++ is cross-platform. More importantly, we have a LOT of accounting and business logic in C++. To rewrite and test it would be 5 or 10 programmer-years. We never found any way to have Obj-C members in C++ header files, except as void *. Also, no way to reference Obj-C headers from C++. It's

Re: Cocoa-dev Digest, Vol 16, Issue 72

2019-08-26 Thread Jens Alfke via Cocoa-dev
> On Aug 25, 2019, at 5:49 PM, Turtle Creek Software via Cocoa-dev > wrote: > > No use of NSBridgingRetain or Release at all. Is that necessary under ARC? Those functions are only for casting CoreFoundation types to/from Obj-C. > The void pointers are mostly to text fields and controls, plu

Re: Cocoa-dev Digest, Vol 16, Issue 72

2019-08-25 Thread Alex Zavatone via Cocoa-dev
> On Aug 25, 2019, at 7:49 PM, Turtle Creek Software via Cocoa-dev > wrote: > >>> Either you have files where ARC is still turned of (via the -fno-arc > option > > Nope, no compiler flags at all. > >>> Make sure you're properly using NSBridgingRetain() etc. (or > the equivalent typecasts) a

Re: Cocoa-dev Digest, Vol 16, Issue 72

2019-08-25 Thread Turtle Creek Software via Cocoa-dev
them up. That could cause ARC > to think it owns another reference to an object and release it again. > > Cheers, > -- Uli Kusterer > "The Witnesses of TeachText are everywhere..." > > > -----------