desktop/source/app/app.cxx | 4 ++-- include/vcl/svapp.hxx | 2 ++ vcl/source/app/svapp.cxx | 17 +++++++++++++---- 3 files changed, 17 insertions(+), 6 deletions(-)
New commits: commit 4959f369d9bdcc2ab50cd4a70ad96a4a4fa17c76 Author: Chris Sherlock <chris.sherloc...@gmail.com> Date: Wed Jan 22 18:45:19 2014 +1100 Improve settings code reability Application::SetSettings relies on Application::GetSettings to initialize the application's settings if this hasn't happened. This means that GetSettings is being used not to get the app's settings, but to initialize the settings! I have corrected this by introducing a private static function InitSettings(). Note that I assert if it attempts to initialize already initialized settings, because the (Get|Set)Settings does the check for you. Also changed a local variable from nGet to nDragMode in Desktop::SystemSettingsChanging to make it easier to read the code. Whilst this is minor, a variable name of "nGet" seems very sloppy. Change-Id: I04975217c2028b3489179997db4287957578cc93 Reviewed-on: https://gerrit.libreoffice.org/7586 Reviewed-by: Norbert Thiebaud <nthieb...@gmail.com> Tested-by: Norbert Thiebaud <nthieb...@gmail.com> diff --git a/desktop/source/app/app.cxx b/desktop/source/app/app.cxx index 962e2b4..8c0fe6a 100644 --- a/desktop/source/app/app.cxx +++ b/desktop/source/app/app.cxx @@ -1951,8 +1951,8 @@ void Desktop::SystemSettingsChanging( AllSettings& rSettings ) sal_uInt32 nDragFullOptions = hStyleSettings.GetDragFullOptions(); SvtTabAppearanceCfg aAppearanceCfg; - sal_uInt16 nGet = aAppearanceCfg.GetDragMode(); - switch ( nGet ) + sal_uInt16 nDragMode = aAppearanceCfg.GetDragMode(); + switch ( nDragMode ) { case DragFullWindow: nDragFullOptions |= DRAGFULL_OPTION_ALL; diff --git a/include/vcl/svapp.hxx b/include/vcl/svapp.hxx index 8e7b053..f0e9b80 100644 --- a/include/vcl/svapp.hxx +++ b/include/vcl/svapp.hxx @@ -780,6 +780,8 @@ public: private: + static void InitSettings(); + DECL_STATIC_LINK( Application, PostEventHandler, void* ); }; diff --git a/vcl/source/app/svapp.cxx b/vcl/source/app/svapp.cxx index a754856..ac13c73 100644 --- a/vcl/source/app/svapp.cxx +++ b/vcl/source/app/svapp.cxx @@ -519,7 +519,7 @@ void Application::SetSettings( const AllSettings& rSettings ) ImplSVData* pSVData = ImplGetSVData(); if ( !pSVData->maAppData.mpSettings ) { - GetSettings(); + InitSettings(); *pSVData->maAppData.mpSettings = rSettings; ResMgr::SetDefaultLocale( rSettings.GetUILanguageTag() ); } @@ -618,14 +618,23 @@ const AllSettings& Application::GetSettings() ImplSVData* pSVData = ImplGetSVData(); if ( !pSVData->maAppData.mpSettings ) { - pSVData->maAppData.mpCfgListener = new LocaleConfigurationListener; - pSVData->maAppData.mpSettings = new AllSettings(); - pSVData->maAppData.mpSettings->GetSysLocale().GetOptions().AddListener( pSVData->maAppData.mpCfgListener ); + InitSettings(); } return *(pSVData->maAppData.mpSettings); } +void Application::InitSettings() +{ + ImplSVData* pSVData = ImplGetSVData(); + + assert(!pSVData->maAppData.mpSettings); // initialization should not happen twice! + + pSVData->maAppData.mpCfgListener = new LocaleConfigurationListener; + pSVData->maAppData.mpSettings = new AllSettings(); + pSVData->maAppData.mpSettings->GetSysLocale().GetOptions().AddListener( pSVData->maAppData.mpCfgListener ); +} + void Application::NotifyAllWindows( DataChangedEvent& rDCEvt ) { ImplSVData* pSVData = ImplGetSVData(); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits