From: Richard Underhill Date: Wed, 19 Aug 2015 15:38:18 +0000 (+0100) Subject: Fix for Valgrind reporting loss from QuramBitmapFactory in MCD. X-Git-Tag: dali_1.1.2~9 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F78%2F46378%2F3;p=platform%2Fcore%2Fuifw%2Fdali-core.git Fix for Valgrind reporting loss from QuramBitmapFactory in MCD. There is a delete[]/free mismatch changed Dali to use malloc/free to help with third party libraries. Change-Id: Ib3fbe62f9b00cea5062b44cf1169de1f6dda3bf0 Signed-off-by: Richard Underhill --- diff --git a/dali/integration-api/bitmap.cpp b/dali/integration-api/bitmap.cpp index 41d5327..bfff2d5 100644 --- a/dali/integration-api/bitmap.cpp +++ b/dali/integration-api/bitmap.cpp @@ -18,8 +18,6 @@ // CLASS HEADER #include -// EXTERNAL INCLUDES - // INTERNAL INCLUDES #include #include @@ -290,16 +288,6 @@ void Bitmap::DiscardBuffer() } } -PixelBuffer* Bitmap::ReleaseBuffer() -{ - PixelBuffer* const data = mData; - - // Ownership of mData has been transferred, so indicate that mData pointer is no longer valid: - mData = NULL; - - return data; -} - Bitmap::~Bitmap() { DALI_LOG_TRACE_METHOD(Debug::Filter::gImage); @@ -320,7 +308,7 @@ void Bitmap::DeletePixelBuffer() { return; } - delete [] mData; + free ( mData ); mData = NULL; } diff --git a/dali/integration-api/bitmap.h b/dali/integration-api/bitmap.h index 7363abe..6319ae1 100644 --- a/dali/integration-api/bitmap.h +++ b/dali/integration-api/bitmap.h @@ -311,12 +311,6 @@ public: return mDiscardable == ResourcePolicy::OWNED_DISCARD; } - /** - * Transfer ownership of the pixel buffer to the calling function. - * @post bitmaps pixel data is set to NULL - * @return the bitmaps pixel buffer - */ - PixelBuffer* ReleaseBuffer(); /** * Delete the pixel buffer data */ diff --git a/dali/internal/event/images/bitmap-compressed.cpp b/dali/internal/event/images/bitmap-compressed.cpp index 7e41ca9..65a01bc 100644 --- a/dali/internal/event/images/bitmap-compressed.cpp +++ b/dali/internal/event/images/bitmap-compressed.cpp @@ -18,9 +18,8 @@ // CLASS HEADER #include -// INTERNAL INCLUDES -#include -#include +// EXTERNAL INCLUDES +#include // INTERNAL INCLUDES #include @@ -66,7 +65,7 @@ Dali::Integration::PixelBuffer* BitmapCompressed::ReserveBufferOfSize( Pixel::Fo Initialize(pixelFormat, width, height, bufferSize); - mData = new Dali::Integration::PixelBuffer[bufferSize]; + mData = reinterpret_cast< Dali::Integration::PixelBuffer* >( malloc( bufferSize ) ); return mData; } diff --git a/dali/internal/event/images/bitmap-packed-pixel.cpp b/dali/internal/event/images/bitmap-packed-pixel.cpp index d97b1d4..232877f 100644 --- a/dali/internal/event/images/bitmap-packed-pixel.cpp +++ b/dali/internal/event/images/bitmap-packed-pixel.cpp @@ -18,6 +18,9 @@ // CLASS HEADER #include +// EXTERNAL INCLUDES +#include + // INTERNAL INCLUDES #include #include @@ -54,7 +57,7 @@ Dali::Integration::PixelBuffer* BitmapPackedPixel::ReserveBuffer(Pixel::Format p //allocate buffer unsigned int bufSize = mBufferWidth * mBufferHeight * mBytesPerPixel; - mData = new Dali::Integration::PixelBuffer[bufSize]; + mData = reinterpret_cast< Dali::Integration::PixelBuffer* >( malloc( bufSize) ); return mData; }