Diffstat (limited to 'noncore/apps/opie-console/screen.cpp') (more/less context) (show whitespace changes)
-rw-r--r-- | noncore/apps/opie-console/screen.cpp | 16 |
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(); |