From cccd4c7cf3b491e4703c513aa2f94adbeabc0233 Mon Sep 17 00:00:00 2001 From: "jan.nijtmans" Date: Wed, 18 Dec 2024 14:38:46 +0000 Subject: [PATCH] (cherry-pick): Fix [844c0be72d]: Menu entry underline does not consider activeborderwidth. --- win/tkWinMenu.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/win/tkWinMenu.c b/win/tkWinMenu.c index 5726760a5..36dc8436f 100644 --- a/win/tkWinMenu.c +++ b/win/tkWinMenu.c @@ -2107,13 +2107,15 @@ DrawMenuUnderline( len = TkGetCharLength(mePtr->labelPtr); if (mePtr->underline < len) { const char *label, *start, *end; - int ch; + int activeBorderWidth, ch; label = Tcl_GetString(mePtr->labelPtr); start = TkUtfAtIndex(label, mePtr->underline); end = start + TkUtfToUniChar(start, &ch); + Tk_GetPixelsFromObj(NULL, menuPtr->tkwin, + menuPtr->activeBorderWidthPtr, &activeBorderWidth); Tk_UnderlineChars(menuPtr->display, d, - gc, tkfont, label, x + mePtr->indicatorSpace, + gc, tkfont, label, x + mePtr->indicatorSpace + activeBorderWidth, y + (height + fmPtr->ascent - fmPtr->descent) / 2, (int) (start - label), (int) (end - label)); }