Package: icewm
Severity: normal
Tags: patch
Underline of menu hotkey is broken at multibytes string.
See this.
http://vdr.jp/tmp/icewm-menu.png
Attached patch fixes it. Please apply.
Regards,
--
dai
-- System Information:
Debian Release: testing/unstable
APT prefers unstable
APT policy: (500, 'unstable'), (500, 'stable'), (1, 'experimental')
Architecture: i386 (i686)
Shell: /bin/sh linked to /bin/bash
Kernel: Linux 2.6.16
Locale: LANG=ja_JP.EUC-JP, LC_CTYPE=ja_JP.EUC-JP (charmap=EUC-JP) (ignored:
LC_ALL set to ja_JP.EUC-JP)
--- icewm-1.2.25/src/ypaint.cc.orig 2006-02-03 15:24:27.000000000 +0900
+++ icewm-1.2.25/src/ypaint.cc 2006-03-30 16:52:11.000000000 +0900
@@ -465,18 +465,25 @@ void Graphics::drawCharUnderline(int x,
#ifdef CONFIG_I18N
if (multiByte) {
int nc = mblen(str + c, len - c);
- if (nc < 1) // bad things
+ if (nc < 1) { // bad things
c++;
- else
- c += nc;
+ cp++;
+ } else {
+ c += nc;
+ cp += nc;
+ }
} else
#endif
+ {
c++;
- cp++;
+ cp++;
+ }
}
// msg("%d %d %d %d %d", c, cp, charPos, left, right);
- drawLine(x + left, y + 2, x + right, y + 2);
+ if( left < right ) {
+ drawLine(x + left, y + 2, x + right, y + 2);
+ }
}
void Graphics::drawStringMultiline(int x, int y, const char *str) {