From 5d1137fce2329ff463d11b46ee31ec210254445c Mon Sep 17 00:00:00 2001 From: Jan Holesovsky Date: Wed, 9 Jan 2013 11:16:47 +0100 Subject: Personas: As Michael suggested, use BitmapEx instead of BitmapEx*. Change-Id: Ib1d84b37d452785d12502095c0eedaac4a25fb6b (cherry picked from commit 0721b5b83e34de1e2fcb320d6a7deae1ad109d61) Signed-off-by: Miklos Vajna --- vcl/source/app/settings.cxx | 38 +++++++++++++++----------------------- 1 file changed, 15 insertions(+), 23 deletions(-) (limited to 'vcl/source/app/settings.cxx') diff --git a/vcl/source/app/settings.cxx b/vcl/source/app/settings.cxx index 17d523db7513..32366face1bc 100644 --- a/vcl/source/app/settings.cxx +++ b/vcl/source/app/settings.cxx @@ -34,7 +34,6 @@ #include "vcl/i18nhelp.hxx" #include "vcl/configsettings.hxx" #include "vcl/gradient.hxx" -#include "vcl/bitmapex.hxx" #include "unotools/fontcfg.hxx" #include "unotools/localedatawrapper.hxx" @@ -204,8 +203,8 @@ sal_Bool MouseSettings::operator ==( const MouseSettings& rSet ) const ImplStyleData::ImplStyleData() : maPersonaHeaderFooter(), - mpPersonaHeaderBitmap( NULL ), - mpPersonaFooterBitmap( NULL ) + mpPersonaHeaderBitmap(), + mpPersonaFooterBitmap() { mnRefCount = 1; mnScrollBarSize = 16; @@ -305,8 +304,8 @@ ImplStyleData::ImplStyleData( const ImplStyleData& rData ) : maDialogStyle( rData.maDialogStyle ), maFrameStyle( rData.maFrameStyle ), maPersonaHeaderFooter( rData.maPersonaHeaderFooter ), - mpPersonaHeaderBitmap( rData.mpPersonaHeaderBitmap? new BitmapEx( *rData.mpPersonaHeaderBitmap ): NULL ), - mpPersonaFooterBitmap( rData.mpPersonaFooterBitmap? new BitmapEx( *rData.mpPersonaFooterBitmap ): NULL ) + mpPersonaHeaderBitmap( rData.mpPersonaHeaderBitmap ), + mpPersonaFooterBitmap( rData.mpPersonaFooterBitmap ) { mnRefCount = 1; mnBorderSize = rData.mnBorderSize; @@ -687,7 +686,7 @@ sal_Bool StyleSettings::GetUseImagesInMenus() const // ----------------------------------------------------------------------- -static BitmapEx* readBitmapEx( const OUString& rPath ) +static BitmapEx readBitmapEx( const OUString& rPath ) { OUString aPath( rPath ); rtl::Bootstrap::expandMacros( aPath ); @@ -695,19 +694,15 @@ static BitmapEx* readBitmapEx( const OUString& rPath ) // import the image Graphic aGraphic; if ( GraphicFilter::LoadGraphic( aPath, String(), aGraphic ) != GRFILTER_OK ) - return NULL; + return BitmapEx(); - const BitmapEx& rBitmap( aGraphic.GetBitmapEx() ); - if ( rBitmap.IsEmpty() ) - return NULL; - - return new BitmapEx( rBitmap ); + return aGraphic.GetBitmapEx(); } enum WhichPersona { PERSONA_HEADER, PERSONA_FOOTER }; /** Update the setting of the Persona header / footer in ImplStyleData */ -static void setupPersonaHeaderFooter( WhichPersona eWhich, OUString& rHeaderFooter, BitmapEx*& pHeaderFooterBitmap ) +static void setupPersonaHeaderFooter( WhichPersona eWhich, OUString& rHeaderFooter, BitmapEx& rHeaderFooterBitmap ) { uno::Reference< uno::XComponentContext > xContext( comphelper::getProcessComponentContext() ); if ( !xContext.is() ) @@ -745,9 +740,6 @@ static void setupPersonaHeaderFooter( WhichPersona eWhich, OUString& rHeaderFoot case PERSONA_FOOTER: aName = aFooter; break; } - delete pHeaderFooterBitmap; - pHeaderFooterBitmap = NULL; - if ( !aName.isEmpty() ) { // try the gallery first, then edition, and the program path if @@ -757,23 +749,23 @@ static void setupPersonaHeaderFooter( WhichPersona eWhich, OUString& rHeaderFoot gallery += "/user/gallery/personas/"; if ( aPersona == "own" ) - pHeaderFooterBitmap = readBitmapEx( gallery + aName ); + rHeaderFooterBitmap = readBitmapEx( gallery + aName ); - if ( !pHeaderFooterBitmap ) - pHeaderFooterBitmap = readBitmapEx( "$BRAND_BASE_DIR/program/edition/" + aName ); + if ( rHeaderFooterBitmap.IsEmpty() ) + rHeaderFooterBitmap = readBitmapEx( "$BRAND_BASE_DIR/program/edition/" + aName ); - if ( !pHeaderFooterBitmap ) - pHeaderFooterBitmap = readBitmapEx( "$BRAND_BASE_DIR/program/" + aName ); + if ( rHeaderFooterBitmap.IsEmpty() ) + rHeaderFooterBitmap = readBitmapEx( "$BRAND_BASE_DIR/program/" + aName ); } } -const BitmapEx* StyleSettings::GetPersonaHeader() const +const BitmapEx StyleSettings::GetPersonaHeader() const { setupPersonaHeaderFooter( PERSONA_HEADER, mpData->maPersonaHeaderFooter, mpData->mpPersonaHeaderBitmap ); return mpData->mpPersonaHeaderBitmap; } -const BitmapEx* StyleSettings::GetPersonaFooter() const +const BitmapEx StyleSettings::GetPersonaFooter() const { setupPersonaHeaderFooter( PERSONA_FOOTER, mpData->maPersonaHeaderFooter, mpData->mpPersonaFooterBitmap ); return mpData->mpPersonaFooterBitmap; -- cgit v1.2.3