Commit 733e7858 authored by Luis Javier Merino's avatar Luis Javier Merino Committed by Tomaz Canabrava
Browse files

Respect DECDWL/DHL on last column cursor controls

parent c099e0f2
Pipeline #90504 passed with stage
in 1 minute and 49 seconds
......@@ -96,7 +96,7 @@ void Screen::cursorUp(int n)
n = 1; // Default
}
const int stop = _cuY < _topMargin ? 0 : _topMargin;
_cuX = qMin(_columns - 1, _cuX); // nowrap!
_cuX = qMin(getScreenLineColumns(_cuY) - 1, _cuX); // nowrap!
_cuY = qMax(stop, _cuY - n);
}
......@@ -110,7 +110,7 @@ void Screen::cursorDown(int n)
n = MAX_SCREEN_ARGUMENT;
}
const int stop = _cuY > _bottomMargin ? _lines - 1 : _bottomMargin;
_cuX = qMin(_columns - 1, _cuX); // nowrap!
_cuX = qMin(getScreenLineColumns(_cuY) - 1, _cuX); // nowrap!
_cuY = qMin(stop, _cuY + n);
}
......@@ -120,7 +120,7 @@ void Screen::cursorLeft(int n)
if (n < 1) {
n = 1; // Default
}
_cuX = qMin(_columns - 1, _cuX); // nowrap!
_cuX = qMin(getScreenLineColumns(_cuY) - 1, _cuX); // nowrap!
_cuX = qMax(0, _cuX - n);
}
......@@ -771,7 +771,7 @@ void Screen::reset()
void Screen::backspace()
{
_cuX = qMin(_columns - 1, _cuX); // nowrap!
_cuX = qMin(getScreenLineColumns(_cuY) - 1, _cuX); // nowrap!
_cuX = qMax(0, _cuX - 1);
if (_screenLines.at(_cuY).size() < _cuX + 1) {
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment