ooo-build r14556 - in trunk: . patches/dev300



Author: pmladek
Date: Thu Nov 20 11:02:21 2008
New Revision: 14556
URL: http://svn.gnome.org/viewvc/ooo-build?rev=14556&view=rev

Log:
2008-11-20  Petr Mladek  <pmladek suse cz>

	* patches/dev300/webdav-locking-local-temp-file.diff:
	* patches/dev300/apply: fix saving files on Novell teaming via WebDaV;
	  thanks Kendy for the patch (bnc#440514)



Added:
   trunk/patches/dev300/webdav-locking-local-temp-file.diff
Modified:
   trunk/ChangeLog
   trunk/patches/dev300/apply

Modified: trunk/patches/dev300/apply
==============================================================================
--- trunk/patches/dev300/apply	(original)
+++ trunk/patches/dev300/apply	Thu Nov 20 11:02:21 2008
@@ -606,6 +606,8 @@
 # This is forward-ported from ooo-build-2-4-1, because the version for
 # up-streaming still does not work as expected :-(
 webdav-locking-from-ooo-build-2-4-1.diff
+# fix saving files on Novell teaming via WebDaV
+webdav-locking-local-temp-file.diff, bnc#440514, kendy
 
 
 [ GnomeVFS ]

Added: trunk/patches/dev300/webdav-locking-local-temp-file.diff
==============================================================================
--- (empty file)
+++ trunk/patches/dev300/webdav-locking-local-temp-file.diff	Thu Nov 20 11:02:21 2008
@@ -0,0 +1,61 @@
+diff --git sfx2/source/doc/docfile.cxx sfx2/source/doc/docfile.cxx
+index 1a7f67f..2e55e32 100644
+--- sfx2/source/doc/docfile.cxx
++++ sfx2/source/doc/docfile.cxx
+@@ -2153,11 +2153,20 @@ void SfxMedium::DoInternalBackup_Impl( const ::ucbhelper::Content& aOriginalCont
+ 	if ( pImp->m_aBackupURL.getLength() )
+ 		return; // the backup was done already
+ 
+-	::utl::TempFile aTransactTemp( aPrefix, &aExtension, &aDestDir );
+-	aTransactTemp.EnableKillingFile( sal_False );
++	::rtl::OUString aBackupName;
++	::rtl::OUString aBackupURL;
++	{
++		// a living aTransactTemp kills WebDAV with SAL_ENABLE_FILE_LOCKING=1,
++		// because then it attempts to have 2 file handles pointing to the same
++		// file name...
++		::utl::TempFile aTransactTemp( aPrefix, &aExtension, &aDestDir );
++		aTransactTemp.EnableKillingFile( sal_True );
+ 
+-	INetURLObject aBackObj( aTransactTemp.GetURL() );
+-	::rtl::OUString aBackupName = aBackObj.getName( INetURLObject::LAST_SEGMENT, true, INetURLObject::DECODE_WITH_CHARSET );
++		INetURLObject aBackObj( aTransactTemp.GetURL() );
++
++		aBackupName = aBackObj.getName( INetURLObject::LAST_SEGMENT, true, INetURLObject::DECODE_WITH_CHARSET );
++		aBackupURL = aBackObj.GetMainURL( INetURLObject::NO_DECODE );
++	}
+ 
+ 	Reference < ::com::sun::star::ucb::XCommandEnvironment > xDummyEnv;
+ 	::ucbhelper::Content aBackupCont;
+@@ -2170,16 +2179,13 @@ void SfxMedium::DoInternalBackup_Impl( const ::ucbhelper::Content& aOriginalCont
+ 											aBackupName,
+ 											NameClash::OVERWRITE ) )
+ 			{
+-				pImp->m_aBackupURL = aBackObj.GetMainURL( INetURLObject::NO_DECODE );
++				pImp->m_aBackupURL = aBackupURL;
+ 				pImp->m_bRemoveBackup = sal_True;
+ 			}
+ 		}
+ 		catch( Exception& )
+ 		{}
+ 	}
+-
+-	if ( !pImp->m_aBackupURL.getLength() )
+-		aTransactTemp.EnableKillingFile( sal_True );
+ }
+ 
+ //------------------------------------------------------------------
+diff --git ucb/source/ucp/webdav/webdavcontent.cxx ucb/source/ucp/webdav/webdavcontent.cxx
+index 84cc057..871a233 100644
+--- ucb/source/ucp/webdav/webdavcontent.cxx
++++ ucb/source/ucp/webdav/webdavcontent.cxx
+@@ -2063,8 +2063,7 @@ uno::Any Content::open(
+ 
+     // Open document.
+ 
+-    if ( ( rArg.Mode == ucb::OpenMode::DOCUMENT_SHARE_DENY_NONE ) ||
+-         ( rArg.Mode == ucb::OpenMode::DOCUMENT_SHARE_DENY_WRITE ) )
++    if ( rArg.Mode == ucb::OpenMode::DOCUMENT_SHARE_DENY_WRITE )
+     {
+         // Currently(?) unsupported.
+         ucbhelper::cancelCommandExecution(



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]