Not necessarily. I have never seen a guarantee that the C++ string functions output their data in the exact format that [NSString stringWithCharacters:length:] needs as an input. As you discovered, getting UTF8 from the C++ string does give you proper data for the corresponding NSString creator method.
Assuming things are compatible between C++ and Cocoa methods usually leads to bug reports at the very least. Jack > On May 25, 2018, at 2:18 PM, Vojtěch Meluzín <meldaproduct...@gmail.com> > wrote: > > Ok so I got a solution - it's the utf16 indeed. When I use [NSString > stringWithUTF8String] instead, it doesn't crash. Considering it does that > only on 10.10 (and probably older), it seems like OSX malfunction... oh > well... Fortunately no big deal. > > Cheers! > Vojtech > www.meldaproduction.com > > 2018-05-25 22:49 GMT+02:00 Vojtěch Meluzín <meldaproduct...@gmail.com>: > >> Thanks for the reply Ken. I don't really know what Zombies instrument is, >> I'll check. The GetLength returns the number of UTF-16 characters (hence >> half of the buffer length), not including zero terminator. >> >> Cheers! >> Vojtech >> >> 2018-05-25 16:26 GMT+02:00 Ken Thomases <k...@codeweavers.com>: >> >>> On May 25, 2018, at 5:44 AM, Vojtěch Meluzín <meldaproduct...@gmail.com> >>> wrote: >>>> >>>> I have received a few cases like the trace below - it always happens in >>> OSX >>>> 10.10 and runModalForWindow and crashes in CFStringDeallocate. Any ideas >>>> what that could be? >>> >>> Have you run your app with the Zombies instrument? >>> >>>> […] NSStrings, which are >>>> probably the issue here are always created from our MString like this: >>>> >>>> const unichar *utf16 = (const unichar *)s.GetUTF16(); >>>> return [NSString stringWithCharacters: utf16 length: s.GetLength()]; >>> >>> Does MString::GetLength() return the length in UTF-16 code units (as >>> opposed to, say, UTF-8 code units)? >>> >>> Regards, >>> Ken >>> >>> >> > _______________________________________________ > > Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) > > 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: > https://lists.apple.com/mailman/options/cocoa-dev/jackbrindle%40me.com > > This email sent to jackbrin...@me.com _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) 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: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com