OSX: fix setWindowCaption Cyrillic convert

master
MoNTE48 2021-02-12 18:29:23 +01:00
parent 58627ce2f1
commit c8a6ba71e9
1 changed files with 14 additions and 6 deletions

View File

@ -1110,17 +1110,25 @@ void CIrrDeviceMacOSX::sleep(u32 timeMs, bool pauseTimer=false)
void CIrrDeviceMacOSX::setWindowCaption(const wchar_t* text) void CIrrDeviceMacOSX::setWindowCaption(const wchar_t* text)
{ {
size_t size; size_t size;
char title[1024]; // char title[1024];
if (Window != NULL) if (Window != NULL)
{ {
size = wcstombs(title,text,1024); // size = wcstombs(title,text,1024);
title[1023] = 0; size = wcslen(text) * sizeof(wchar_t);
#ifdef __MAC_10_6 // title[1023] = 0;
NSString* name = [NSString stringWithCString:title encoding:NSUTF8StringEncoding]; //#ifdef __MAC_10_6
// NSString* name = [NSString stringWithCString:title encoding:NSUTF8StringEncoding];
//#else
// NSString* name = [NSString stringWithCString:title length:size];
//#endif
#ifdef __BIG_ENDIAN__
NSStringEncoding encode = NSUTF32BigEndianStringEncoding;
#else #else
NSString* name = [NSString stringWithCString:title length:size]; NSStringEncoding encode = NSUTF32LittleEndianStringEncoding;
#endif #endif
NSString* name = [[NSString alloc] initWithBytes:text length:size encoding:encode];
[Window setTitle:name]; [Window setTitle:name];
[name release]; [name release];
} }