summaryrefslogtreecommitdiff
path: root/noncore/apps/opie-console/screen.cpp
Side-by-side diff
Diffstat (limited to 'noncore/apps/opie-console/screen.cpp') (more/less context) (show whitespace changes)
-rw-r--r--noncore/apps/opie-console/screen.cpp16
1 files changed, 9 insertions, 7 deletions
diff --git a/noncore/apps/opie-console/screen.cpp b/noncore/apps/opie-console/screen.cpp
index 8ebc47d..a796ba1 100644
--- a/noncore/apps/opie-console/screen.cpp
+++ b/noncore/apps/opie-console/screen.cpp
@@ -69,5 +69,5 @@ Screen::Screen(int lines, int columns)
this->columns = columns;
- image = (Character*) malloc(lines*columns*sizeof(Character));
+ image = QArray<Character>( lines*columns );
tabstops = NULL; initTabStops();
@@ -83,5 +83,5 @@ Screen::Screen(int lines, int columns)
Screen::~Screen()
{
- free(image);
+ delete image;
if (tabstops) free(tabstops);
}
@@ -395,5 +395,5 @@ void Screen::resizeImage(int new_lines, int new_columns)
// make new image
- Character* newimg = (Character*) malloc(new_lines*new_columns*sizeof(Character));
+ QArray<Character> newimg = QArray<Character>( new_lines * new_columns );
clearSelection();
@@ -419,5 +419,5 @@ void Screen::resizeImage(int new_lines, int new_columns)
newimg[y*new_columns+x].r = image[loc(x,y)].r;
}
- free(image);
+ delete image;
image = newimg;
lines = new_lines;
@@ -505,5 +505,5 @@ void Screen::effectiveRendition()
*/
-Character* Screen::getCookedImage()
+QArray<Character> Screen::getCookedImage()
{ int x,y;
Character* merged = (Character*) malloc(lines*columns*sizeof(Character));
@@ -548,5 +548,7 @@ Character* Screen::getCookedImage()
if (getMode(MODE_Cursor) && (cuY+(hist.getLines()-histCursor) < lines)) // cursor visible
reverseRendition(&merged[loc(cuX,cuY+(hist.getLines()-histCursor))]);
- return merged;
+ QArray<Character> res( sizeof( merged ) / sizeof( Character ) );
+ res.assign( merged, sizeof( merged ) / sizeof( Character ) );
+ return res;
}
@@ -1160,5 +1162,5 @@ void Screen::addHistLine()
end -= 1;
- hist.addCells(image,end+1);
+ hist.addCells(image.data(), end+1);
hist.addLine();