summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarkus Mohrhard <markus.mohrhard@googlemail.com>2012-01-13 03:34:28 +0100
committerFridrich Štrba <fridrich.strba@bluewin.ch>2012-01-17 12:46:30 +0100
commita8e838010cd167e0d709c03819e2f243b66f98a3 (patch)
tree53c03917a99379f9215fd1d25418ac4895130783
parent2fe402cefb5d06bc33b4e0794b7da0b62be68432 (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.xcs7
-rw-r--r--sfx2/source/doc/docfile.cxx30
-rw-r--r--test/user-template/registry/modifications.xcd13
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">