summaryrefslogtreecommitdiffstats
path: root/macosx/tkMacOSXMenu.c
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2022-09-08 09:51:24 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2022-09-08 09:51:24 (GMT)
commited2ce0944c118c4f1e5908d9b1807225e69a2a95 (patch)
tree9d92014e32eae3dfe4705ff4bbe980765619dd6b /macosx/tkMacOSXMenu.c
parent95066d6a47e1773c5e3e5a80cee70781b53cefa8 (diff)
parentefc488166a919c7e40608d52deb5eeea5debeecd (diff)
downloadtk-ed2ce0944c118c4f1e5908d9b1807225e69a2a95.zip
tk-ed2ce0944c118c4f1e5908d9b1807225e69a2a95.tar.gz
tk-ed2ce0944c118c4f1e5908d9b1807225e69a2a95.tar.bz2
Merge 8.6
Diffstat (limited to 'macosx/tkMacOSXMenu.c')
-rw-r--r--macosx/tkMacOSXMenu.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/macosx/tkMacOSXMenu.c b/macosx/tkMacOSXMenu.c
index 8da1778..4618fd9 100644
--- a/macosx/tkMacOSXMenu.c
+++ b/macosx/tkMacOSXMenu.c
@@ -236,8 +236,8 @@ TKBackgroundLoop *backgroundLoop = nil;
- (id) initWithTkMenu: (TkMenu *) tkMenu
{
- NSString *title = [[NSString alloc] initWithUTF8String:
- Tk_PathName(tkMenu->tkwin)];
+ NSString *title = [[TKNSString alloc] initWithTclUtfBytes:
+ Tk_PathName(tkMenu->tkwin) length:-1];
self = [self initWithTitle:title];
[title release];
@@ -737,9 +737,14 @@ TkpConfigureMenuEntry(
[menuItem setImage:image];
if ((!image || mePtr->compound != COMPOUND_NONE) && mePtr->labelPtr &&
mePtr->labelLength) {
- title = [[[NSString alloc] initWithBytes:Tcl_GetString(mePtr->labelPtr)
- length:mePtr->labelLength encoding:NSUTF8StringEncoding]
- autorelease];
+ Tcl_DString ds;
+ Tcl_DStringInit(&ds);
+ Tcl_UtfToChar16DString(Tcl_GetString(mePtr->labelPtr),
+ mePtr->labelLength, &ds);
+ title = [[NSString alloc]
+ initWithCharacters:(unichar *)Tcl_DStringValue(&ds)
+ length:Tcl_DStringLength(&ds)>>1];
+ Tcl_DStringFree(&ds);
if ([title hasSuffix:@"..."]) {
title = [NSString stringWithFormat:@"%@%C",
[title substringToIndex:[title length] - 3], 0x2026];
@@ -1310,7 +1315,7 @@ ParseAccelerator(
if (ch) {
return [[[NSString alloc] initWithCharacters:&ch length:1] autorelease];
} else {
- return [[[[NSString alloc] initWithUTF8String:accel] autorelease]
+ return [[[[TKNSString alloc] initWithTclUtfBytes:accel length:-1] autorelease]
lowercaseString];
}
}