diff options
author | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2012-01-13 03:34:28 +0100 |
---|---|---|
committer | Fridrich Štrba <fridrich.strba@bluewin.ch> | 2012-01-17 12:46:30 +0100 |
commit | a8e838010cd167e0d709c03819e2f243b66f98a3 (patch) | |
tree | 53c03917a99379f9215fd1d25418ac4895130783 | |
parent | 2fe402cefb5d06bc33b4e0794b7da0b62be68432 (diff) |
don't create lock files for unit tests
special thanks to Stephan for the configuration part
Signed-off-by: Fridrich Štrba <fridrich.strba@bluewin.ch>
-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 fd2fb1ecfbc7..b9aeb16687e7 100644 --- a/sfx2/source/doc/docfile.cxx +++ b/sfx2/source/doc/docfile.cxx @@ -207,6 +207,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 //========================================================== @@ -1001,6 +1026,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"> |