fix scrolling text which contains both normal and wide characters

This commit is contained in:
Andrzej Rybczak
2009-08-26 03:39:14 +02:00
parent 89e18096d9
commit 56a1d7456c
2 changed files with 8 additions and 12 deletions

View File

@@ -169,7 +169,8 @@ template <typename C> void NCurses::basic_buffer<C>::Write(Window &w, size_t &po
LoadAttribute(w, lb->Value);
++lb;
}
len += wcwidth(s[i]);
if ((len += wcwidth(s[i])) > width)
break;
w << s[i];
}
if (++pos >= s.length())
@@ -184,7 +185,8 @@ template <typename C> void NCurses::basic_buffer<C>::Write(Window &w, size_t &po
LoadAttribute(w, lb->Value);
++lb;
}
len += wcwidth(s[i]);
if ((len += wcwidth(s[i])) > width)
break;
w << s[i];
}
// load all remained attributes to clean up