Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Utilities
Konsole
Commits
dec1ad5d
Commit
dec1ad5d
authored
Dec 31, 2020
by
Tomaz Canabrava
Browse files
Revert "Fixed limits and Urls bugs"
This reverts commit
6d9c1d27
.
parent
37218fe8
Changes
2
Hide whitespace changes
Inline
Side-by-side
src/Screen.cpp
View file @
dec1ad5d
...
...
@@ -388,8 +388,10 @@ void Screen::resizeImage(int new_lines, int new_columns)
if
((
new_lines
==
_lines
)
&&
(
new_columns
==
_columns
))
{
return
;
}
// set min values of columns and lines here
new_columns
=
(
17
<
new_columns
)
?
new_columns
:
17
;
// FIXME: bug when column <= 16
new_lines
=
(
3
<
new_lines
)
?
new_lines
:
3
;
// FIXME: bug when lines <= 2
// Adjust scroll position, and fix glitches
_oldTotalLines
=
getLines
()
+
getHistLines
();
_isResize
=
true
;
...
...
@@ -427,7 +429,11 @@ void Screen::resizeImage(int new_lines, int new_columns)
}
// Check if it need to move from _screenLine to _history
while
(
_cuY
>
new_lines
-
1
)
{
fastAddHistLine
();
_history
->
addCellsVector
(
_screenLines
[
0
]);
_history
->
addLine
((
_lineProperties
[
0
]
&
LINE_WRAPPED
)
!=
0
);
_screenLines
.
pop_front
();
_lineProperties
.
remove
(
0
);
_cuY
--
;
}
_lineProperties
.
resize
(
new_lines
+
1
);
_screenLines
.
resize
(
new_lines
+
1
);
...
...
@@ -436,10 +442,13 @@ void Screen::resizeImage(int new_lines, int new_columns)
if
(
new_columns
!=
_columns
&&
_history
->
getLines
())
{
// Join next line from _screenLine to _history
while
(
_history
->
isWrappedLine
(
_history
->
getLines
()
-
1
))
{
fastAddHistLine
();
_history
->
addCellsVector
(
_screenLines
[
0
]);
_history
->
addLine
((
_lineProperties
[
0
]
&
LINE_WRAPPED
)
!=
0
);
_screenLines
.
pop_front
();
_lineProperties
.
remove
(
0
);
_cuY
--
;
}
currentPos
=
0
;
// Join everything in _history
while
(
currentPos
<
_history
->
getLines
()
-
1
)
{
// if it's true, join the line with next line
if
(
_history
->
isWrappedLine
(
currentPos
))
{
...
...
@@ -460,14 +469,13 @@ void Screen::resizeImage(int new_lines, int new_columns)
}
currentPos
++
;
}
//
Now m
ove data to next line if needed
//
M
ove data to next line if needed
currentPos
=
0
;
while
(
currentPos
<
_history
->
getLines
())
{
int
curr_linelen
=
_history
->
getLineLen
(
currentPos
);
// if the current line > new_columns it will need a new line
if
(
curr_linelen
>
new_columns
)
{
bool
removeLine
=
_history
->
getLines
()
==
_history
->
getMaxLines
();
auto
*
curr_line
=
getCharacterBuffer
(
curr_linelen
);
bool
curr_line_property
=
_history
->
isWrappedLine
(
currentPos
);
_history
->
getCells
(
currentPos
,
0
,
curr_linelen
,
curr_line
);
...
...
@@ -481,11 +489,6 @@ void Screen::resizeImage(int new_lines, int new_columns)
_history
->
addCells
(
curr_line
+
new_columns
,
curr_linelen
-
new_columns
);
_history
->
addLine
(
curr_line_property
);
}
// If _history size > max history size it will drop a line from _history.
// We need to verify if we need to remove a URL.
if
(
removeLine
)
{
_escapeSequenceUrlExtractor
->
historyLinesRemoved
(
1
);
}
}
currentPos
++
;
}
...
...
@@ -1569,23 +1572,6 @@ void Screen::writeLinesToStream(TerminalCharacterDecoder* decoder, int fromLine,
writeToStream
(
decoder
,
loc
(
0
,
fromLine
),
loc
(
_columns
-
1
,
toLine
),
PreserveLineBreaks
);
}
void
Screen
::
fastAddHistLine
()
{
bool
removeLine
=
_history
->
getLines
()
==
_history
->
getMaxLines
();
_history
->
addCellsVector
(
_screenLines
[
0
]);
_history
->
addLine
((
_lineProperties
[
0
]
&
LINE_WRAPPED
)
!=
0
);
// If _history size > max history size it will drop a line from _history.
// We need to verify if we need to remove a URL.
if
(
removeLine
)
{
_escapeSequenceUrlExtractor
->
historyLinesRemoved
(
1
);
}
_screenLines
.
pop_front
();
_lineProperties
.
remove
(
0
);
_cuY
--
;
}
void
Screen
::
addHistLine
()
{
// add line to history buffer
...
...
src/Screen.h
View file @
dec1ad5d
...
...
@@ -588,9 +588,7 @@ public:
static
const
Character
DefaultChar
;
// Return the total number of lines before resize (fix scroll glitch)
int
getOldTotalLines
();
// Return if it was a resize signal (fix scroll glitch)
bool
isResize
();
private:
...
...
@@ -628,8 +626,6 @@ private:
TerminalDisplay
*
_currentTerminalDisplay
;
void
addHistLine
();
// add lines from _screen to _history and remove from _screen the added lines (used to resize lines and columns)
void
fastAddHistLine
();
void
initTabStops
();
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment