* The old screen buffer wasn't freed in _ResizeSimple().

* Updated some debug output.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26005 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Ingo Weinhold 2008-06-18 04:14:06 +00:00
parent 7f6f9ddb94
commit 13315c5755
1 changed files with 9 additions and 9 deletions

View File

@ -941,6 +941,9 @@ BasicTerminalBuffer::_ResizeSimple(int32 width, int32 height,
for (int32 i = endLine - firstLine; i < height; i++) for (int32 i = endLine - firstLine; i < height; i++)
lines[i]->Clear(); lines[i]->Clear();
_FreeLines(fScreen, fHeight);
fScreen = lines;
fWidth = width; fWidth = width;
fHeight = height; fHeight = height;
@ -953,8 +956,6 @@ BasicTerminalBuffer::_ResizeSimple(int32 width, int32 height,
fCursor.x = width; fCursor.x = width;
fCursor.y -= firstLine; fCursor.y -= firstLine;
fScreen = lines;
return B_OK; return B_OK;
} }
@ -1123,24 +1124,23 @@ BasicTerminalBuffer::_ResizeRewrap(int32 width, int32 height,
_FreeLines(fScreen, fHeight); _FreeLines(fScreen, fHeight);
delete fHistory; delete fHistory;
fScreen = screen;
fHistory = history;
//debug_printf(" cursor: (%ld, %ld) -> (%ld, %ld)\n", fCursor.x, fCursor.y, //debug_printf(" cursor: (%ld, %ld) -> (%ld, %ld)\n", fCursor.x, fCursor.y,
//cursor.x, cursor.y); //cursor.x, cursor.y);
fCursor.x = cursor.x; fCursor.x = cursor.x;
fCursor.y = cursor.y; fCursor.y = cursor.y;
//debug_printf(" screen offset: %ld -> %ld\n", fScreenOffset, //debug_printf(" screen offset: %ld -> %ld\n", fScreenOffset, destScreenOffset % height);
//destScreenOffset % fHistoryCapacity);
fScreenOffset = destScreenOffset % height; fScreenOffset = destScreenOffset % height;
//debug_printf(" history size: %ld -> %ld\n", fHistorySize, destTotalLines - fHeight); //debug_printf(" height %ld -> %ld\n", fHeight, height);
//debug_printf(" height %ld -> %ld\n", fHeight, tempHeight); //debug_printf(" width %ld -> %ld\n", fWidth, width);
fHeight = height; fHeight = height;
fWidth = width; fWidth = width;
fScrollTop = 0; fScrollTop = 0;
fScrollBottom = fHeight - 1; fScrollBottom = fHeight - 1;
fScreen = screen;
fHistory = history;
return B_OK; return B_OK;
} }