| Summary: | Blinking cursor of "fullwidth" character are "halfwidth". | ||
|---|---|---|---|
| Product: | [Applications] konsole | Reporter: | Yichao Yu <yyc1992> |
| Component: | copy-paste | Assignee: | Konsole Bugs <konsole-bugs-null> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | chaofeng111 |
| Priority: | NOR | ||
| Version First Reported In: | 2.10.2 | ||
| Target Milestone: | --- | ||
| Platform: | Arch Linux | ||
| OS: | Linux | ||
| Latest Commit: | http://commits.kde.org/konsole/5fd1276b8d024a5a2670ff60753c9760a2ff7ca7 | Version Fixed/Implemented In: | |
| Sentry Crash Report: | |||
|
Description
Yichao Yu
2013-04-16 14:36:13 UTC
Yep, I don't use a blinking cursor so I've never noticed. This doesn't strike me as a good way of doing this
diff --git a/src/TerminalDisplay.cpp b/src/TerminalDisplay.cpp
index 6ed9358..147db34 100644
--- a/src/TerminalDisplay.cpp
+++ b/src/TerminalDisplay.cpp
@@ -1597,7 +1597,10 @@ void TerminalDisplay::blinkCursorEvent()
void TerminalDisplay::updateCursor()
{
- QRect cursorRect = imageToWidget(QRect(cursorPosition(), QSize(1, 1)));
+ int cursorLocation = cursorPosition().x() + (_columns * cursorPosition().y());
+ quint16 c = _image[cursorLocation].character;
+ QRect cursorRect = imageToWidget(QRect(cursorPosition(),
+ QSize(konsole_wcwidth(c), 1)));
update(cursorRect);
}
Git commit 5fd1276b8d024a5a2670ff60753c9760a2ff7ca7 by Feng Chao. Committed on 03/08/2014 at 13:18. Pushed by fengchao into branch 'frameworks'. Fix Bug 318453 - Blinking cursor of "fullwidth" character are "halfwidth" Calculate the character width at current blinking cursor. M +3 -1 src/TerminalDisplay.cpp http://commits.kde.org/konsole/5fd1276b8d024a5a2670ff60753c9760a2ff7ca7 |