From c347a4d4d44154b1a1bbe402273a8d3e693b4e54 Mon Sep 17 00:00:00 2001 From: Murai Takashi Date: Tue, 23 Jul 2013 19:40:43 +0900 Subject: [PATCH] Fix called C++ object pointer is null MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Jérôme Duval --- .../interface/remote/RemoteDrawingEngine.cpp | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/src/servers/app/drawing/interface/remote/RemoteDrawingEngine.cpp b/src/servers/app/drawing/interface/remote/RemoteDrawingEngine.cpp index 92442b0dd3..a1cb44143d 100644 --- a/src/servers/app/drawing/interface/remote/RemoteDrawingEngine.cpp +++ b/src/servers/app/drawing/interface/remote/RemoteDrawingEngine.cpp @@ -1094,14 +1094,18 @@ RemoteDrawingEngine::_ExtractBitmapRegions(ServerBitmap& bitmap, uint32 options, bitmaps[i] = new(std::nothrow) UtilityBitmap( BRect(0, 0, targetWidth - 1, targetHeight - 1), bitmap.ColorSpace(), 0); - if (bitmaps[i] == NULL) + if (bitmaps[i] == NULL) { result = B_NO_MEMORY; - - result = bitmaps[i]->ImportBits(bitmap.Bits(), bitmap.BitsLength(), - bitmap.BytesPerRow(), bitmap.ColorSpace(), sourceRect.LeftTop(), - BPoint(0, 0), targetWidth, targetHeight); - if (result != B_OK) - delete bitmaps[i]; + } else { + result = bitmaps[i]->ImportBits(bitmap.Bits(), + bitmap.BitsLength(), bitmap.BytesPerRow(), + bitmap.ColorSpace(), sourceRect.LeftTop(), + BPoint(0, 0), targetWidth, targetHeight); + if (result != B_OK) { + delete bitmaps[i]; + bitmaps[i] = NULL; + } + } } if (result != B_OK) {