summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--editeng/source/editeng/editeng.cxx24
-rw-r--r--editeng/source/editeng/impedit.hxx4
-rw-r--r--editeng/source/editeng/impedit2.cxx4
-rw-r--r--editeng/source/items/numitem.cxx7
-rw-r--r--i18nutil/Library_i18nutil.mk1
-rw-r--r--i18nutil/source/utility/paper.cxx4
-rw-r--r--include/unotools/configmgr.hxx6
-rw-r--r--sfx2/source/control/shell.cxx6
-rw-r--r--svtools/source/graphic/grfmgr.cxx28
-rw-r--r--svx/source/svdraw/svdetc.cxx15
-rw-r--r--svx/source/svdraw/svdmodel.cxx16
-rw-r--r--sw/source/core/bastyp/init.cxx16
-rw-r--r--sw/source/core/doc/DocumentSettingManager.cxx44
-rw-r--r--sw/source/core/doc/docdesc.cxx3
-rw-r--r--sw/source/core/doc/number.cxx4
-rw-r--r--sw/source/core/draw/drawdoc.cxx3
-rw-r--r--sw/source/uibase/app/docsh2.cxx3
-rw-r--r--sw/source/uibase/app/docshdrw.cxx4
-rw-r--r--unotools/source/config/configitem.cxx9
-rw-r--r--unotools/source/config/configmgr.cxx12
-rw-r--r--unotools/source/config/saveopt.cxx15
-rw-r--r--unotools/source/config/viewoptions.cxx3
-rw-r--r--unotools/source/misc/syslocale.cxx12
23 files changed, 186 insertions, 57 deletions
diff --git a/editeng/source/editeng/editeng.cxx b/editeng/source/editeng/editeng.cxx
index 910b4872c844..ea3a5f919c5d 100644
--- a/editeng/source/editeng/editeng.cxx
+++ b/editeng/source/editeng/editeng.cxx
@@ -1294,18 +1294,24 @@ bool EditEngine::PostKeyEvent( const KeyEvent& rKeyEvent, EditView* pEditView, v
LanguageType eLang = pImpEditEngine->GetLanguage( EditPaM( aStart.GetNode(), aStart.GetIndex()+1));
LanguageTag aLanguageTag( eLang);
- if (!pImpEditEngine->xLocaleDataWrapper.isInitialized())
- pImpEditEngine->xLocaleDataWrapper.init( SvtSysLocale().GetLocaleData().getComponentContext(), aLanguageTag);
+ if (!pImpEditEngine->pLocaleDataWrapper)
+ pImpEditEngine->pLocaleDataWrapper = new OnDemandLocaleDataWrapper;
+
+ if (!pImpEditEngine->pLocaleDataWrapper->isInitialized())
+ pImpEditEngine->pLocaleDataWrapper->init( SvtSysLocale().GetLocaleData().getComponentContext(), aLanguageTag);
else
- pImpEditEngine->xLocaleDataWrapper.changeLocale( aLanguageTag);
+ pImpEditEngine->pLocaleDataWrapper->changeLocale( aLanguageTag);
+
+ if (!pImpEditEngine->pTransliterationWrapper)
+ pImpEditEngine->pTransliterationWrapper = new OnDemandTransliterationWrapper;
- if (!pImpEditEngine->xTransliterationWrapper.isInitialized())
- pImpEditEngine->xTransliterationWrapper.init( SvtSysLocale().GetLocaleData().getComponentContext(), eLang, i18n::TransliterationModules_IGNORE_CASE);
+ if (!pImpEditEngine->pTransliterationWrapper->isInitialized())
+ pImpEditEngine->pTransliterationWrapper->init( SvtSysLocale().GetLocaleData().getComponentContext(), eLang, i18n::TransliterationModules_IGNORE_CASE);
else
- pImpEditEngine->xTransliterationWrapper.changeLocale( eLang);
+ pImpEditEngine->pTransliterationWrapper->changeLocale( eLang);
- const ::utl::TransliterationWrapper* pTransliteration = pImpEditEngine->xTransliterationWrapper.get();
- Sequence< i18n::CalendarItem2 > xItem = pImpEditEngine->xLocaleDataWrapper->getDefaultCalendarDays();
+ const ::utl::TransliterationWrapper* pTransliteration = pImpEditEngine->pTransliterationWrapper->get();
+ Sequence< i18n::CalendarItem2 > xItem = pImpEditEngine->pLocaleDataWrapper->get()->getDefaultCalendarDays();
sal_Int32 nCount = xItem.getLength();
const i18n::CalendarItem2* pArr = xItem.getArray();
for( sal_Int32 n = 0; n <= nCount; ++n )
@@ -1320,7 +1326,7 @@ bool EditEngine::PostKeyEvent( const KeyEvent& rKeyEvent, EditView* pEditView, v
if ( aComplete.isEmpty() )
{
- xItem = pImpEditEngine->xLocaleDataWrapper->getDefaultCalendarMonths();
+ xItem = pImpEditEngine->pLocaleDataWrapper->get()->getDefaultCalendarMonths();
sal_Int32 nMonthCount = xItem.getLength();
const i18n::CalendarItem2* pMonthArr = xItem.getArray();
for( sal_Int32 n = 0; n <= nMonthCount; ++n )
diff --git a/editeng/source/editeng/impedit.hxx b/editeng/source/editeng/impedit.hxx
index 793a85eb1331..5ce5524ed385 100644
--- a/editeng/source/editeng/impedit.hxx
+++ b/editeng/source/editeng/impedit.hxx
@@ -464,8 +464,8 @@ private:
LanguageType eDefLanguage;
- OnDemandLocaleDataWrapper xLocaleDataWrapper;
- OnDemandTransliterationWrapper xTransliterationWrapper;
+ OnDemandLocaleDataWrapper* pLocaleDataWrapper;
+ OnDemandTransliterationWrapper* pTransliterationWrapper;
// For Formatting / Update ....
boost::ptr_vector<DeletedNodeInfo> aDeletedNodes;
diff --git a/editeng/source/editeng/impedit2.cxx b/editeng/source/editeng/impedit2.cxx
index 8269dae61488..9dec70e0e0f1 100644
--- a/editeng/source/editeng/impedit2.cxx
+++ b/editeng/source/editeng/impedit2.cxx
@@ -129,6 +129,8 @@ ImpEditEngine::ImpEditEngine( EditEngine* pEE, SfxItemPool* pItemPool ) :
nStretchY = 100;
eDefLanguage = LANGUAGE_DONTKNOW;
+ pLocaleDataWrapper = 0;
+ pTransliterationWrapper = 0;
maBackgroundColor = COL_AUTO;
nAsianCompressionMode = text::CharacterCompressionType::NONE;
@@ -182,6 +184,8 @@ ImpEditEngine::~ImpEditEngine()
delete pCTLOptions;
if ( bOwnerOfRefDev )
pRefDev.disposeAndClear();
+ delete pLocaleDataWrapper;
+ delete pTransliterationWrapper;
delete pSpellInfo;
}
diff --git a/editeng/source/items/numitem.cxx b/editeng/source/items/numitem.cxx
index 99ad41eea108..b44355f0b4c9 100644
--- a/editeng/source/items/numitem.cxx
+++ b/editeng/source/items/numitem.cxx
@@ -42,6 +42,7 @@
#include <com/sun/star/beans/PropertyValue.hpp>
#include <comphelper/processfactory.hxx>
#include <tools/mapunit.hxx>
+#include <unotools/configmgr.hxx>
#include <editeng/unonrule.hxx>
@@ -99,8 +100,10 @@ SvxNumberType::~SvxNumberType()
OUString SvxNumberType::GetNumStr( sal_uLong nNo ) const
{
- const LanguageTag& rLang = Application::GetSettings().GetLanguageTag();
- return GetNumStr( nNo, rLang.getLocale() );
+ LanguageTag aLang = utl::ConfigManager::IsAvoidConfig() ?
+ LanguageTag("en-US") :
+ Application::GetSettings().GetLanguageTag();
+ return GetNumStr( nNo, aLang.getLocale() );
}
OUString SvxNumberType::GetNumStr( sal_uLong nNo, const css::lang::Locale& rLocale ) const
diff --git a/i18nutil/Library_i18nutil.mk b/i18nutil/Library_i18nutil.mk
index 1c5837c30e16..4dcfbdda64da 100644
--- a/i18nutil/Library_i18nutil.mk
+++ b/i18nutil/Library_i18nutil.mk
@@ -36,6 +36,7 @@ $(eval $(call gb_Library_add_defs,i18nutil,\
))
$(eval $(call gb_Library_use_libraries,i18nutil,\
+ utl \
i18nlangtag \
comphelper \
cppu \
diff --git a/i18nutil/source/utility/paper.cxx b/i18nutil/source/utility/paper.cxx
index 73993bffddf6..c61bac6ab0ec 100644
--- a/i18nutil/source/utility/paper.cxx
+++ b/i18nutil/source/utility/paper.cxx
@@ -30,6 +30,7 @@
#include <utility>
#include <cstdlib>
+#include <unotools/configmgr.hxx>
#ifdef UNX
#include <stdio.h>
@@ -207,6 +208,9 @@ long PaperInfo::sloppyFitPageDimension(long nDimension)
PaperInfo PaperInfo::getSystemDefaultPaper()
{
+ if (utl::ConfigManager::IsAvoidConfig())
+ return PaperInfo(PAPER_A4);
+
OUString aLocaleStr = officecfg::Setup::L10N::ooSetupSystemLocale::get();
#ifdef UNX
diff --git a/include/unotools/configmgr.hxx b/include/unotools/configmgr.hxx
index 14a5abf34575..7c174f6cd46c 100644
--- a/include/unotools/configmgr.hxx
+++ b/include/unotools/configmgr.hxx
@@ -73,6 +73,12 @@ public:
SAL_DLLPRIVATE void registerConfigItem(utl::ConfigItem * item);
+ // Avoid using the config layer and rely on defaults
+ // which is only useful for special test tool targets
+ // where start-up speed is of the essence
+ static bool IsAvoidConfig();
+ static void EnableAvoidConfig();
+
private:
ConfigManager(const ConfigManager&) SAL_DELETED_FUNCTION;
diff --git a/sfx2/source/control/shell.cxx b/sfx2/source/control/shell.cxx
index 607a56191063..5bfac57f1a4f 100644
--- a/sfx2/source/control/shell.cxx
+++ b/sfx2/source/control/shell.cxx
@@ -28,7 +28,7 @@
#include "itemdel.hxx"
#include <svtools/asynclink.hxx>
#include <basic/sbx.hxx>
-
+#include <unotools/configmgr.hxx>
#include <sfx2/app.hxx>
#include <sfx2/shell.hxx>
#include <sfx2/bindings.hxx>
@@ -223,9 +223,11 @@ void SfxShell::SetUndoManager( ::svl::IUndoManager *pNewUndoMgr )
// a supported scenario (/me thinks it is not), then we would need to notify all such clients instances.
pUndoMgr = pNewUndoMgr;
- if ( pUndoMgr )
+ if (pUndoMgr && !utl::ConfigManager::IsAvoidConfig())
+ {
pUndoMgr->SetMaxUndoActionCount(
officecfg::Office::Common::Undo::Steps::get());
+ }
}
SfxRepeatTarget* SfxShell::GetRepeatTarget() const
diff --git a/svtools/source/graphic/grfmgr.cxx b/svtools/source/graphic/grfmgr.cxx
index e97cb750f8a0..e39ee4cbdb23 100644
--- a/svtools/source/graphic/grfmgr.cxx
+++ b/svtools/source/graphic/grfmgr.cxx
@@ -28,6 +28,7 @@
#include <unotools/ucbstreamhelper.hxx>
#include <unotools/localfilehelper.hxx>
#include <unotools/tempfile.hxx>
+#include <unotools/configmgr.hxx>
#include <vcl/svapp.hxx>
#include <vcl/cvtgrf.hxx>
#include <vcl/metaact.hxx>
@@ -184,14 +185,25 @@ void GraphicObject::ImplSetGraphicManager( const GraphicManager* pMgr, const OSt
{
if( !mpGlobalMgr )
{
- mpGlobalMgr = new GraphicManager(
- (officecfg::Office::Common::Cache::GraphicManager::
- TotalCacheSize::get()),
- (officecfg::Office::Common::Cache::GraphicManager::
- ObjectCacheSize::get()));
- mpGlobalMgr->SetCacheTimeout(
- officecfg::Office::Common::Cache::GraphicManager::
- ObjectReleaseTime::get());
+ if (!utl::ConfigManager::IsAvoidConfig())
+ {
+ mpGlobalMgr = new GraphicManager(
+ (officecfg::Office::Common::Cache::GraphicManager::
+ TotalCacheSize::get()),
+ (officecfg::Office::Common::Cache::GraphicManager::
+ ObjectCacheSize::get()));
+ mpGlobalMgr->SetCacheTimeout(
+ officecfg::Office::Common::Cache::GraphicManager::
+ ObjectReleaseTime::get());
+ }
+ else
+ {
+ mpGlobalMgr = new GraphicManager(
+ 20000,
+ 20000);
+ mpGlobalMgr->SetCacheTimeout(
+ 20000);
+ }
}
mpMgr = mpGlobalMgr;
diff --git a/svx/source/svdraw/svdetc.cxx b/svx/source/svdraw/svdetc.cxx
index 76e75f886405..c18754d1c18c 100644
--- a/svx/source/svdraw/svdetc.cxx
+++ b/svx/source/svdraw/svdetc.cxx
@@ -45,9 +45,11 @@
#include <svx/xflgrit.hxx>
#include <svx/svdoole2.hxx>
#include <svl/itempool.hxx>
+#include <unotools/configmgr.hxx>
#include <unotools/localedatawrapper.hxx>
#include <i18nlangtag/lang.h>
#include <unotools/syslocale.hxx>
+#include <unotools/configmgr.hxx>
#include <svx/xflbckit.hxx>
#include <svx/extrusionbar.hxx>
#include <svx/fontworkbar.hxx>
@@ -74,9 +76,11 @@ SdrGlobalData::SdrGlobalData() :
pResMgr(NULL),
nExchangeFormat(0)
{
-
- svx::ExtrusionBar::RegisterInterface();
- svx::FontworkBar::RegisterInterface();
+ if (!utl::ConfigManager::IsAvoidConfig())
+ {
+ svx::ExtrusionBar::RegisterInterface();
+ svx::FontworkBar::RegisterInterface();
+ }
}
const SvtSysLocale* SdrGlobalData::GetSysLocale()
@@ -104,7 +108,10 @@ SdrGlobalData & GetSdrGlobalData() {
OLEObjCache::OLEObjCache()
{
- nSize = officecfg::Office::Common::Cache::DrawingEngine::OLE_Objects::get();
+ if (!utl::ConfigManager::IsAvoidConfig())
+ nSize = officecfg::Office::Common::Cache::DrawingEngine::OLE_Objects::get();
+ else
+ nSize = 100;
pTimer = new AutoTimer();
Link<Timer *, void> aLink = LINK(this, OLEObjCache, UnloadCheckHdl);
diff --git a/svx/source/svdraw/svdmodel.cxx b/svx/source/svdraw/svdmodel.cxx
index 8baffe4db637..ff9004e7cba1 100644
--- a/svx/source/svdraw/svdmodel.cxx
+++ b/svx/source/svdraw/svdmodel.cxx
@@ -31,6 +31,7 @@
#include <com/sun/star/embed/ElementModes.hpp>
#include <unotools/ucbstreamhelper.hxx>
+#include <unotools/configmgr.hxx>
#include <svl/whiter.hxx>
#include <svx/xit.hxx>
@@ -174,9 +175,12 @@ void SdrModel::ImpCtor(SfxItemPool* pPool, ::comphelper::IEmbeddedHelper* _pEmbe
mbDisableTextEditUsesCommonUndoManager = false;
- mnCharCompressType =
- officecfg::Office::Common::AsianLayout::CompressCharacterDistance::
- get();
+ if (!utl::ConfigManager::IsAvoidConfig())
+ mnCharCompressType =
+ officecfg::Office::Common::AsianLayout::CompressCharacterDistance::
+ get();
+ else
+ mnCharCompressType = 0;
#ifdef OSL_LITENDIAN
nStreamNumberFormat=SvStreamEndian::LITTLE;
@@ -714,7 +718,11 @@ void SdrModel::SetTextDefaults( SfxItemPool* pItemPool, sal_uIntPtr nDefTextHgt
SvxFontItem aSvxFontItem( EE_CHAR_FONTINFO) ;
SvxFontItem aSvxFontItemCJK(EE_CHAR_FONTINFO_CJK);
SvxFontItem aSvxFontItemCTL(EE_CHAR_FONTINFO_CTL);
- sal_uInt16 nLanguage(Application::GetSettings().GetLanguageTag().getLanguageType());
+ sal_uInt16 nLanguage;
+ if (!utl::ConfigManager::IsAvoidConfig())
+ nLanguage = Application::GetSettings().GetLanguageTag().getLanguageType();
+ else
+ nLanguage = LANGUAGE_ENGLISH_US;
// get DEFAULTFONT_LATIN_TEXT and set at pool as dynamic default
vcl::Font aFont(OutputDevice::GetDefaultFont(DefaultFontType::LATIN_TEXT, nLanguage, GetDefaultFontFlags::OnlyOne, 0));
diff --git a/sw/source/core/bastyp/init.cxx b/sw/source/core/bastyp/init.cxx
index 1d3962a105db..9e7858712f0c 100644
--- a/sw/source/core/bastyp/init.cxx
+++ b/sw/source/core/bastyp/init.cxx
@@ -123,6 +123,7 @@
#include <tools/globname.hxx>
#include <tox.hxx>
#include <unotools/charclass.hxx>
+#include <unotools/configmgr.hxx>
#include <unotools/collatorwrapper.hxx>
#include <unotools/syslocale.hxx>
#include <unotools/transliterationwrapper.hxx>
@@ -740,9 +741,16 @@ void _InitCore()
pGlobalOLEExcludeList = new std::vector<SvGlobalName*>;
- const SvxSwAutoFormatFlags& rAFlags = SvxAutoCorrCfg::Get().GetAutoCorrect()->GetSwFlags();
- SwDoc::mpACmpltWords = new SwAutoCompleteWord( rAFlags.nAutoCmpltListLen,
+ if (!utl::ConfigManager::IsAvoidConfig())
+ {
+ const SvxSwAutoFormatFlags& rAFlags = SvxAutoCorrCfg::Get().GetAutoCorrect()->GetSwFlags();
+ SwDoc::mpACmpltWords = new SwAutoCompleteWord( rAFlags.nAutoCmpltListLen,
rAFlags.nAutoCmpltWordLen );
+ }
+ else
+ {
+ SwDoc::mpACmpltWords = new SwAutoCompleteWord( 0, 0 );
+ }
}
void _FinitCore()
@@ -855,7 +863,9 @@ void SwCalendarWrapper::LoadDefaultCalendar( sal_uInt16 eLang )
LanguageType GetAppLanguage()
{
- return Application::GetSettings().GetLanguageTag().getLanguageType();
+ if (!utl::ConfigManager::IsAvoidConfig())
+ return Application::GetSettings().GetLanguageTag().getLanguageType();
+ return LANGUAGE_ENGLISH_US;
}
const LanguageTag& GetAppLanguageTag()
diff --git a/sw/source/core/doc/DocumentSettingManager.cxx b/sw/source/core/doc/DocumentSettingManager.cxx
index 6970d1f8044e..e9cb58a73f0a 100644
--- a/sw/source/core/doc/DocumentSettingManager.cxx
+++ b/sw/source/core/doc/DocumentSettingManager.cxx
@@ -26,6 +26,7 @@
#include <editeng/forbiddencharacterstable.hxx>
#include <svx/svdmodel.hxx>
#include <unotools/compatibility.hxx>
+#include <unotools/configmgr.hxx>
#include <drawdoc.hxx>
#include <swmodule.hxx>
#include <linkenum.hxx>
@@ -92,19 +93,36 @@ sw::DocumentSettingManager::DocumentSettingManager(SwDoc &rDoc)
// Note: Any non-hidden compatibility flag should obtain its default
// by asking SvtCompatibilityOptions, see below.
- const SvtCompatibilityOptions aOptions;
- mbParaSpaceMax = aOptions.IsAddSpacing();
- mbParaSpaceMaxAtPages = aOptions.IsAddSpacingAtPages();
- mbTabCompat = !aOptions.IsUseOurTabStops();
- mbUseVirtualDevice = !aOptions.IsUsePrtDevice();
- mbAddExternalLeading = !aOptions.IsNoExtLeading();
- mbOldLineSpacing = aOptions.IsUseLineSpacing();
- mbAddParaSpacingToTableCells = aOptions.IsAddTableSpacing();
- mbUseFormerObjectPos = aOptions.IsUseObjectPositioning();
- mbUseFormerTextWrapping = aOptions.IsUseOurTextWrapping();
- mbConsiderWrapOnObjPos = aOptions.IsConsiderWrappingStyle();
-
- mbDoNotJustifyLinesWithManualBreak = !aOptions.IsExpandWordSpace();
+ if (!utl::ConfigManager::IsAvoidConfig())
+ {
+ const SvtCompatibilityOptions aOptions;
+ mbParaSpaceMax = aOptions.IsAddSpacing();
+ mbParaSpaceMaxAtPages = aOptions.IsAddSpacingAtPages();
+ mbTabCompat = !aOptions.IsUseOurTabStops();
+ mbUseVirtualDevice = !aOptions.IsUsePrtDevice();
+ mbAddExternalLeading = !aOptions.IsNoExtLeading();
+ mbOldLineSpacing = aOptions.IsUseLineSpacing();
+ mbAddParaSpacingToTableCells = aOptions.IsAddTableSpacing();
+ mbUseFormerObjectPos = aOptions.IsUseObjectPositioning();
+ mbUseFormerTextWrapping = aOptions.IsUseOurTextWrapping();
+ mbConsiderWrapOnObjPos = aOptions.IsConsiderWrappingStyle();
+
+ mbDoNotJustifyLinesWithManualBreak = !aOptions.IsExpandWordSpace();
+ }
+ else
+ {
+ mbParaSpaceMax = false;
+ mbParaSpaceMaxAtPages = false;
+ mbTabCompat = true;
+ mbUseVirtualDevice = true;
+ mbAddExternalLeading = true;
+ mbOldLineSpacing = false;
+ mbAddParaSpacingToTableCells = false;
+ mbUseFormerObjectPos = false;
+ mbUseFormerTextWrapping = false;
+ mbConsiderWrapOnObjPos = false;
+ mbDoNotJustifyLinesWithManualBreak = true;
+ }
// COMPATIBILITY FLAGS END
diff --git a/sw/source/core/doc/docdesc.cxx b/sw/source/core/doc/docdesc.cxx
index 240d2ea3d518..8663fda3b57b 100644
--- a/sw/source/core/doc/docdesc.cxx
+++ b/sw/source/core/doc/docdesc.cxx
@@ -56,6 +56,7 @@
#include <SwUndoPageDesc.hxx>
#include <pagedeschint.hxx>
#include <tgrditem.hxx>
+#include <unotools/configmgr.hxx>
#include <unotools/syslocale.hxx>
#include <boost/scoped_ptr.hpp>
@@ -92,7 +93,7 @@ static void lcl_DefaultPageFormat( sal_uInt16 nPoolFormatId,
nMinRight = nMinTop = nMinBottom = GetMetricVal( CM_1 );
nMinLeft = nMinRight * 2;
}
- else if( MEASURE_METRIC == SvtSysLocale().GetLocaleData().getMeasurementSystemEnum() )
+ else if (!utl::ConfigManager::IsAvoidConfig() && MEASURE_METRIC == SvtSysLocale().GetLocaleData().getMeasurementSystemEnum() )
{
nMinTop = nMinBottom = nMinLeft = nMinRight = 1134; // 2 centimetres
}
diff --git a/sw/source/core/doc/number.cxx b/sw/source/core/doc/number.cxx
index be310a1f54d5..3fd8614989c1 100644
--- a/sw/source/core/doc/number.cxx
+++ b/sw/source/core/doc/number.cxx
@@ -37,6 +37,7 @@
#include <SwStyleNameMapper.hxx>
// Needed to load default bullet list configuration
+#include <unotools/configmgr.hxx>
#include <unotools/configitem.hxx>
#include <numrule.hxx>
@@ -1412,6 +1413,9 @@ namespace numfunc
SvxNumberFormat::SvxNumPositionAndSpaceMode GetDefaultPositionAndSpaceMode()
{
+ if (utl::ConfigManager::IsAvoidConfig())
+ return SvxNumberFormat::LABEL_ALIGNMENT;
+
SvxNumberFormat::SvxNumPositionAndSpaceMode ePosAndSpaceMode;
SvtSaveOptions aSaveOptions;
switch ( aSaveOptions.GetODFDefaultVersion() )
diff --git a/sw/source/core/draw/drawdoc.cxx b/sw/source/core/draw/drawdoc.cxx
index 10130c2dfb0b..3f8bd09a1df6 100644
--- a/sw/source/core/draw/drawdoc.cxx
+++ b/sw/source/core/draw/drawdoc.cxx
@@ -19,6 +19,7 @@
#include <svx/svxids.hrc>
#include <tools/stream.hxx>
+#include <unotools/configmgr.hxx>
#include <unotools/pathoptions.hxx>
#include <sot/storage.hxx>
#include <svl/intitem.hxx>
@@ -45,6 +46,8 @@ using namespace com::sun::star;
const OUString GetPalettePath()
{
+ if (utl::ConfigManager::IsAvoidConfig())
+ return OUString();
SvtPathOptions aPathOpt;
return aPathOpt.GetPalettePath();
}
diff --git a/sw/source/uibase/app/docsh2.cxx b/sw/source/uibase/app/docsh2.cxx
index de7796e09613..8037523dfa9c 100644
--- a/sw/source/uibase/app/docsh2.cxx
+++ b/sw/source/uibase/app/docsh2.cxx
@@ -29,6 +29,7 @@
#include <hintids.hxx>
#include <tools/urlobj.hxx>
#include <unotools/tempfile.hxx>
+#include <unotools/configmgr.hxx>
#include <vcl/wrkwin.hxx>
#include <vcl/msgbox.hxx>
#include <svl/lckbitem.hxx>
@@ -1213,6 +1214,8 @@ void SwDocShell::FillClass( SvGlobalName * pClassName,
void SwDocShell::SetModified( bool bSet )
{
+ if (utl::ConfigManager::IsAvoidConfig())
+ return;
SfxObjectShell::SetModified( bSet );
if( IsEnableSetModified())
{
diff --git a/sw/source/uibase/app/docshdrw.cxx b/sw/source/uibase/app/docshdrw.cxx
index 00e7c2d079cb..62621400dfcf 100644
--- a/sw/source/uibase/app/docshdrw.cxx
+++ b/sw/source/uibase/app/docshdrw.cxx
@@ -24,7 +24,7 @@
#include <svx/svdmodel.hxx>
#include <svx/svdoutl.hxx>
#include <svx/xtable.hxx>
-
+#include <unotools/configmgr.hxx>
#include <docsh.hxx>
#include <doc.hxx>
#include <drawdoc.hxx>
@@ -68,7 +68,7 @@ void InitDrawModelAndDocShell(SwDocShell* pSwDocShell, SwDrawModel* pSwDrawDocum
{
pSwDocShell->PutItem(SvxColorListItem(xColorList, SID_COLOR_TABLE));
}
- else
+ else if (!utl::ConfigManager::IsAvoidConfig())
{
// there wasn't one, get the standard and set to the
// docshell and then to the drawdocument
diff --git a/unotools/source/config/configitem.cxx b/unotools/source/config/configitem.cxx
index bb46aa794a4c..08f2f7180c81 100644
--- a/unotools/source/config/configitem.cxx
+++ b/unotools/source/config/configitem.cxx
@@ -176,7 +176,10 @@ ConfigItem::ConfigItem(const OUString &rSubTree, ConfigItemMode nSetMode ) :
m_bEnableInternalNotification(false),
m_nInValueChange(0)
{
- if(nSetMode & ConfigItemMode::ReleaseTree)
+ if (utl::ConfigManager::IsAvoidConfig())
+ return;
+
+ if (nSetMode & ConfigItemMode::ReleaseTree)
ConfigManager::getConfigManager().addConfigItem(*this);
else
m_xHierarchyAccess = ConfigManager::getConfigManager().addConfigItem(*this);
@@ -1110,11 +1113,11 @@ void ConfigItem::ClearModified()
m_bIsModified = false;
}
-
-
Reference< XHierarchicalNameAccess> ConfigItem::GetTree()
{
Reference< XHierarchicalNameAccess> xRet;
+ if (utl::ConfigManager::IsAvoidConfig())
+ return xRet;
if(!m_xHierarchyAccess.is())
xRet = ConfigManager::acquireTree(*this);
else
diff --git a/unotools/source/config/configmgr.cxx b/unotools/source/config/configmgr.cxx
index bf74b5323653..91a77ef8e8a9 100644
--- a/unotools/source/config/configmgr.cxx
+++ b/unotools/source/config/configmgr.cxx
@@ -204,4 +204,16 @@ void utl::ConfigManager::doStoreConfigItems() {
}
}
+static bool bIsAvoidConfig = false;
+
+bool utl::ConfigManager::IsAvoidConfig()
+{
+ return bIsAvoidConfig;
+}
+
+void utl::ConfigManager::EnableAvoidConfig()
+{
+ bIsAvoidConfig = true;
+}
+
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/unotools/source/config/saveopt.cxx b/unotools/source/config/saveopt.cxx
index ccea2c533af8..fd6f0736233d 100644
--- a/unotools/source/config/saveopt.cxx
+++ b/unotools/source/config/saveopt.cxx
@@ -567,9 +567,18 @@ SvtSaveOptions_Impl::SvtSaveOptions_Impl()
}
}
- bAutoSave = officecfg::Office::Recovery::AutoSave::Enabled::get();
- nAutoSaveTime = officecfg::Office::Recovery::AutoSave::TimeIntervall::get();
- bUserAutoSave = officecfg::Office::Recovery::AutoSave::UserAutoSaveEnabled::get();
+ if (!utl::ConfigManager::IsAvoidConfig())
+ {
+ bAutoSave = officecfg::Office::Recovery::AutoSave::Enabled::get();
+ nAutoSaveTime = officecfg::Office::Recovery::AutoSave::TimeIntervall::get();
+ bUserAutoSave = officecfg::Office::Recovery::AutoSave::UserAutoSaveEnabled::get();
+ }
+ else
+ {
+ bAutoSave = false;
+ nAutoSaveTime = 0;
+ bUserAutoSave = false;
+ }
}
SvtSaveOptions_Impl::~SvtSaveOptions_Impl()
diff --git a/unotools/source/config/viewoptions.cxx b/unotools/source/config/viewoptions.cxx
index 95282f0e35c9..ef336153f7b3 100644
--- a/unotools/source/config/viewoptions.cxx
+++ b/unotools/source/config/viewoptions.cxx
@@ -149,6 +149,9 @@ SvtViewOptionsBase_Impl::SvtViewOptionsBase_Impl( const OUString& sList )
, m_nWriteCount( 0 )
#endif
{
+ if (utl::ConfigManager::IsAvoidConfig())
+ return;
+
try
{
m_xRoot = css::uno::Reference< css::container::XNameAccess >(
diff --git a/unotools/source/misc/syslocale.cxx b/unotools/source/misc/syslocale.cxx
index 179052045869..117d5d854380 100644
--- a/unotools/source/misc/syslocale.cxx
+++ b/unotools/source/misc/syslocale.cxx
@@ -20,6 +20,7 @@
#include <sal/config.h>
#include <sal/log.hxx>
+#include <unotools/configmgr.hxx>
#include <unotools/syslocale.hxx>
#include <unotools/syslocaleoptions.hxx>
#include <comphelper/processfactory.hxx>
@@ -54,7 +55,13 @@ private:
SvtSysLocale_Impl::SvtSysLocale_Impl() : pCharClass(NULL)
{
- pLocaleData = new LocaleDataWrapper( aSysLocaleOptions.GetRealLanguageTag() );
+ if (utl::ConfigManager::IsAvoidConfig())
+ {
+ pLocaleData = NULL;
+ return;
+ }
+
+ pLocaleData = new LocaleDataWrapper(aSysLocaleOptions.GetRealLanguageTag());
setDateAcceptancePatternsConfig();
// listen for further changes
@@ -114,6 +121,9 @@ void SvtSysLocale_Impl::setDateAcceptancePatternsConfig()
SvtSysLocale::SvtSysLocale()
{
+ if (utl::ConfigManager::IsAvoidConfig())
+ return;
+
MutexGuard aGuard( GetMutex() );
if ( !pImpl )
pImpl = new SvtSysLocale_Impl;