diff options
author | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2012-01-13 03:34:28 +0100 |
---|---|---|
committer | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2012-01-15 04:05:20 +0100 |
commit | 300b39cca53d770211312319338688bcbc3c4f28 (patch) | |
tree | a4eaa905dbdee35fd8514e8952f28b8d9b701c52 | |
parent | 10b10580c46a69d25e987212bb127787300b871e (diff) |
don't create lock files for unit tests
special thanks to Stephan for the configuration part
-rw-r--r-- | officecfg/registry/schema/org/openoffice/Office/Common.xcs | 7 | ||||
-rw-r--r-- | sfx2/source/doc/docfile.cxx | 30 | ||||
-rw-r--r-- | test/user-template/registry/modifications.xcd | 13 |
3 files changed, 50 insertions, 0 deletions
diff --git a/officecfg/registry/schema/org/openoffice/Office/Common.xcs b/officecfg/registry/schema/org/openoffice/Office/Common.xcs index 2cee667ddb26..c74e508ef7b6 100644 --- a/officecfg/registry/schema/org/openoffice/Office/Common.xcs +++ b/officecfg/registry/schema/org/openoffice/Office/Common.xcs @@ -6269,6 +6269,13 @@ </info> <value>true</value> </prop> + <prop oor:name="UseLocking" oor:type="xs:boolean"> + <info> + <desc>Allows to specify whether locking should be used at all. + Use this setting only for debugging purpose.</desc> + </info> + <value>true</value> + </prop> <prop oor:name="ShowLinkWarningDialog" oor:type="xs:boolean"> <info> <author>THB</author> diff --git a/sfx2/source/doc/docfile.cxx b/sfx2/source/doc/docfile.cxx index af6915890f89..d2089b2b9968 100644 --- a/sfx2/source/doc/docfile.cxx +++ b/sfx2/source/doc/docfile.cxx @@ -202,6 +202,31 @@ sal_Bool IsOOoLockFileUsed() return bOOoLockFileUsed; } +bool IsLockingUsed() +{ + bool bLocking = true; + try + { + + uno::Reference< uno::XInterface > xCommonConfig = ::comphelper::ConfigurationHelper::openConfig( + ::comphelper::getProcessServiceFactory(), + ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "/org.openoffice.Office.Common" ) ), + ::comphelper::ConfigurationHelper::E_STANDARD ); + if ( !xCommonConfig.is() ) + throw uno::RuntimeException(); + + ::comphelper::ConfigurationHelper::readRelativeKey( + xCommonConfig, + ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Misc/" ) ), + ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "UseLocking" ) ) ) >>= bLocking; + } + catch( const uno::Exception& ) + { + } + + return bLocking; +} + } // anonymous namespace //========================================================== @@ -996,6 +1021,11 @@ sal_Bool SfxMedium::LockOrigFileOnDemand( sal_Bool bLoading, sal_Bool bNoUI ) // if user cancel the loading the ERROR_ABORT is set sal_Bool bResult = sal_False; + if (!IsLockingUsed()) + { + return sal_True; + } + if ( !GetURLObject().HasError() ) try { if ( pImp->m_bLocked && bLoading && ::utl::LocalFileHelper::IsLocalFile( GetURLObject().GetMainURL( INetURLObject::NO_DECODE ) ) ) diff --git a/test/user-template/registry/modifications.xcd b/test/user-template/registry/modifications.xcd index d32364542196..5291c82a1278 100644 --- a/test/user-template/registry/modifications.xcd +++ b/test/user-template/registry/modifications.xcd @@ -27,6 +27,19 @@ * instead of those above. --> <oor:data xmlns:oor="http://openoffice.org/2001/registry"> + <oor:component-data oor:name="Common" oor:package="org.openoffice.Office"> + <node oor:name="Misc"> + <prop oor:name="UseDocumentSystemFileLocking"> + <value>false</value> + </prop> + <prop oor:name="UseDocumentOOoLockFile"> + <value>false</value> + </prop> + <prop oor:name="UseLocking"> + <value>false</value> + </prop> + </node> + </oor:component-data> <oor:component-data oor:name="Paths" oor:package="org.openoffice.Office"> <node oor:name="Paths"> <node oor:name="UIConfig" oor:op="replace"> |