diff options
author | jan.nijtmans <nijtmans@users.sourceforge.net> | 2022-09-08 09:51:24 (GMT) |
---|---|---|
committer | jan.nijtmans <nijtmans@users.sourceforge.net> | 2022-09-08 09:51:24 (GMT) |
commit | ed2ce0944c118c4f1e5908d9b1807225e69a2a95 (patch) | |
tree | 9d92014e32eae3dfe4705ff4bbe980765619dd6b /macosx/tkMacOSXMenu.c | |
parent | 95066d6a47e1773c5e3e5a80cee70781b53cefa8 (diff) | |
parent | efc488166a919c7e40608d52deb5eeea5debeecd (diff) | |
download | tk-ed2ce0944c118c4f1e5908d9b1807225e69a2a95.zip tk-ed2ce0944c118c4f1e5908d9b1807225e69a2a95.tar.gz tk-ed2ce0944c118c4f1e5908d9b1807225e69a2a95.tar.bz2 |
Merge 8.6
Diffstat (limited to 'macosx/tkMacOSXMenu.c')
-rw-r--r-- | macosx/tkMacOSXMenu.c | 17 |
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]; } } |