diff options
author | Jan Holesovsky <kendy@suse.cz> | 2013-01-04 21:07:57 +0100 |
---|---|---|
committer | Jan Holesovsky <kendy@suse.cz> | 2013-01-04 21:07:57 +0100 |
commit | 4a4627eba410df933d004170d9f5638526acaed2 (patch) | |
tree | 93442f0d651425c5a33e5455e6cd7c5d414b4e35 /vcl | |
parent | 6112d7b94201f785a722d1d9d9f4da826452d5c5 (diff) |
Personas: Fix copy constructor + always reference the Application settings
...to avoid reading the bitmaps more than once.
Change-Id: I7577f5df96a5a28f1ac1f800867af5eee298663e
Diffstat (limited to 'vcl')
-rw-r--r-- | vcl/source/app/settings.cxx | 4 | ||||
-rw-r--r-- | vcl/source/window/dockingarea.cxx | 4 | ||||
-rw-r--r-- | vcl/source/window/menu.cxx | 8 |
3 files changed, 8 insertions, 8 deletions
diff --git a/vcl/source/app/settings.cxx b/vcl/source/app/settings.cxx index abaff95fb5b7..17d523db7513 100644 --- a/vcl/source/app/settings.cxx +++ b/vcl/source/app/settings.cxx @@ -305,8 +305,8 @@ ImplStyleData::ImplStyleData( const ImplStyleData& rData ) : maDialogStyle( rData.maDialogStyle ), maFrameStyle( rData.maFrameStyle ), maPersonaHeaderFooter( rData.maPersonaHeaderFooter ), - mpPersonaHeaderBitmap( NULL ), - mpPersonaFooterBitmap( NULL ) + mpPersonaHeaderBitmap( rData.mpPersonaHeaderBitmap? new BitmapEx( *rData.mpPersonaHeaderBitmap ): NULL ), + mpPersonaFooterBitmap( rData.mpPersonaFooterBitmap? new BitmapEx( *rData.mpPersonaFooterBitmap ): NULL ) { mnRefCount = 1; mnBorderSize = rData.mnBorderSize; diff --git a/vcl/source/window/dockingarea.cxx b/vcl/source/window/dockingarea.cxx index 81f67db697b0..7d97dd9c8fa2 100644 --- a/vcl/source/window/dockingarea.cxx +++ b/vcl/source/window/dockingarea.cxx @@ -50,7 +50,7 @@ DockingAreaWindow::ImplData::~ImplData() static void ImplInitBackground( DockingAreaWindow* pThis ) { - const BitmapEx* pPersonaBitmap = pThis->GetSettings().GetStyleSettings().GetPersonaHeader(); + const BitmapEx* pPersonaBitmap = Application::GetSettings().GetStyleSettings().GetPersonaHeader(); if ( pPersonaBitmap != NULL && pThis->GetAlign() == WINDOWALIGN_TOP ) { Wallpaper aWallpaper( *pPersonaBitmap ); @@ -174,7 +174,7 @@ void DockingAreaWindow::Paint( const Rectangle& ) } ControlState nState = CTRL_STATE_ENABLED; - if ( GetAlign() == WINDOWALIGN_TOP && GetSettings().GetStyleSettings().GetPersonaHeader() ) + if ( GetAlign() == WINDOWALIGN_TOP && Application::GetSettings().GetStyleSettings().GetPersonaHeader() ) Erase(); else if ( !ImplGetSVData()->maNWFData.mbDockingAreaSeparateTB ) { diff --git a/vcl/source/window/menu.cxx b/vcl/source/window/menu.cxx index 64fe254e929c..5fe08d186b06 100644 --- a/vcl/source/window/menu.cxx +++ b/vcl/source/window/menu.cxx @@ -3856,7 +3856,7 @@ static void ImplInitMenuWindow( Window* pWin, sal_Bool bFont, sal_Bool bMenuBar pWin->SetPointFont( rStyleSettings.GetMenuFont() ); if( bMenuBar ) { - const BitmapEx* pPersonaBitmap = rStyleSettings.GetPersonaHeader(); + const BitmapEx* pPersonaBitmap = Application::GetSettings().GetStyleSettings().GetPersonaHeader(); if ( pPersonaBitmap != NULL ) { Wallpaper aWallpaper( *pPersonaBitmap ); @@ -5503,7 +5503,7 @@ void MenuBarWindow::HighlightItem( sal_uInt16 nPos, sal_Bool bHighlight ) MenubarValue aControlValue; aControlValue.maTopDockingAreaHeight = ImplGetTopDockingAreaHeight( this ); - if ( GetSettings().GetStyleSettings().GetPersonaHeader() ) + if ( Application::GetSettings().GetStyleSettings().GetPersonaHeader() ) Erase(); else { @@ -5539,7 +5539,7 @@ void MenuBarWindow::HighlightItem( sal_uInt16 nPos, sal_Bool bHighlight ) MenubarValue aMenubarValue; aMenubarValue.maTopDockingAreaHeight = ImplGetTopDockingAreaHeight( this ); - if ( GetSettings().GetStyleSettings().GetPersonaHeader() ) + if ( Application::GetSettings().GetStyleSettings().GetPersonaHeader() ) Erase( aRect ); else { @@ -5775,7 +5775,7 @@ void MenuBarWindow::Paint( const Rectangle& ) MenubarValue aMenubarValue; aMenubarValue.maTopDockingAreaHeight = ImplGetTopDockingAreaHeight( this ); - if ( GetSettings().GetStyleSettings().GetPersonaHeader() ) + if ( Application::GetSettings().GetStyleSettings().GetPersonaHeader() ) Erase(); else { |