diff options
author | Thorsten Behrens <Thorsten.Behrens@CIB.de> | 2016-05-06 02:07:56 +0200 |
---|---|---|
committer | Thorsten Behrens <Thorsten.Behrens@CIB.de> | 2016-05-06 00:57:50 +0000 |
commit | ee5850893e15acda1d7ce7cf17da7c80f2fa810a (patch) | |
tree | e7e69eeb8fb0b0c06a3d9889a38b9cd4d95994c0 /vcl | |
parent | b8528dcb9c0c5ee75742df3c0e5ee9f373fbf154 (diff) |
vcl: save one heap alloc
Change-Id: I4557d643debbf47c10e1ccd2141f04680333a11d
Reviewed-on: https://gerrit.libreoffice.org/24685
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/source/gdi/wall.cxx | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/vcl/source/gdi/wall.cxx b/vcl/source/gdi/wall.cxx index 7f81368f67b2..26b3448c50a0 100644 --- a/vcl/source/gdi/wall.cxx +++ b/vcl/source/gdi/wall.cxx @@ -202,9 +202,10 @@ Wallpaper::~Wallpaper() void Wallpaper::ImplSetCachedBitmap( BitmapEx& rBmp ) const { - if( mpImplWallpaper->mpCache ) - delete const_cast< ImplWallpaper* >(mpImplWallpaper.get())->mpCache; - const_cast< ImplWallpaper* >(mpImplWallpaper.get())->mpCache = new BitmapEx( rBmp ); + if( !mpImplWallpaper->mpCache ) + const_cast< ImplWallpaper* >(mpImplWallpaper.get())->mpCache = new BitmapEx( rBmp ); + else + *const_cast< ImplWallpaper* >(mpImplWallpaper.get())->mpCache = rBmp; } const BitmapEx* Wallpaper::ImplGetCachedBitmap() const |