commit 9f2fc0c03e1b1ce922d1f200221c0b6ca05b7773
Author: Joshua R. Elsasser <joshua@elsasser.org>
Date: Sun Sep 27 11:25:51 2009 +0000
Fix another pair of Terminal scrolling bugs.
diff --git src/apps/terminal/BasicTerminalBuffer.cpp src/apps/terminal/BasicTerminalBuffer.cpp
index 74e412e..219afcd 100644
|
|
BasicTerminalBuffer::_Scroll(int32 top, int32 bottom, int32 numLines)
|
1317 | 1317 | fScreen[lineToDrop]->Clear(); |
1318 | 1318 | std::swap(fScreen[lineToDrop], fScreen[lineToKeep]); |
1319 | 1319 | } |
| 1320 | // clear any lines between the two swapped ranges above |
| 1321 | for (int32 i = bottom - numLines + 1; i < top + numLines; i++) |
| 1322 | _LineAt(i)->Clear(); |
1320 | 1323 | |
1321 | 1324 | _Invalidate(top, bottom); |
1322 | 1325 | } |
… |
… |
BasicTerminalBuffer::_Scroll(int32 top, int32 bottom, int32 numLines)
|
1339 | 1342 | fScreen[lineToDrop]->Clear(); |
1340 | 1343 | std::swap(fScreen[lineToDrop], fScreen[lineToKeep]); |
1341 | 1344 | } |
| 1345 | // clear any lines between the two swapped ranges above |
| 1346 | for (int32 i = bottom - numLines + 1; i < top + numLines; i++) |
| 1347 | _LineAt(i)->Clear(); |
1342 | 1348 | |
1343 | 1349 | _Invalidate(top, bottom); |
1344 | 1350 | } |