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

Reply via email to