ooo-build r11687 - in trunk: . patches/src680
- From: jholesovsky svn gnome org
- To: svn-commits-list gnome org
- Subject: ooo-build r11687 - in trunk: . patches/src680
- Date: Fri, 22 Feb 2008 18:42:01 +0000 (GMT)
Author: jholesovsky
Date: Fri Feb 22 18:42:01 2008
New Revision: 11687
URL: http://svn.gnome.org/viewvc/ooo-build?rev=11687&view=rev
Log:
2008-02-22 Jan Holesovsky <kendy suse cz>
* patches/src680/webdav-locking-lockstore.diff,
patches/src680/apply: ne_lockstore_add() must be called _after_
ne_lock(), otherwise we get 'Could not LOCK <file> due to
a failed precondition (e.g. other locks). [400, #0]' and 'Invalid
If-header: unclosed "(".' apache errors (rightly!).
Added:
trunk/patches/src680/webdav-locking-lockstore.diff
Modified:
trunk/ChangeLog
trunk/patches/src680/apply
Modified: trunk/patches/src680/apply
==============================================================================
--- trunk/patches/src680/apply (original)
+++ trunk/patches/src680/apply Fri Feb 22 18:42:01 2008
@@ -594,6 +594,9 @@
# The http(s)/dav(s)/webdav(s) protocols can contain even username/passwd
webdav-locking-can-have-username.diff, n#363363, i#29152, jholesov
+# ne_lockstore_add() must be called _after_ ne_lock()
+webdav-locking-lockstore.diff, i#29152, jholesov
+
[ GnomeVFS < ooh680-m4 ]
# WebDAV locking
# It is in this section because it needs part of the gvfs-related patches
Added: trunk/patches/src680/webdav-locking-lockstore.diff
==============================================================================
--- (empty file)
+++ trunk/patches/src680/webdav-locking-lockstore.diff Fri Feb 22 18:42:01 2008
@@ -0,0 +1,46 @@
+diff --git ucb/source/ucp/webdav/NeonSession.cxx ucb/source/ucp/webdav/NeonSession.cxx
+index 6ca255b..3f99123 100644
+--- ucb/source/ucp/webdav/NeonSession.cxx
++++ ucb/source/ucp/webdav/NeonSession.cxx
+@@ -1607,8 +1607,6 @@ void NeonSession::Lockit( ucb::Lock & rLock, bool bLockit )
+ // Note: Neon ignores the timeout
+ //theLock->timeout = rLock.timeout;
+ theLock->timeout = -1;
+-
+- ne_lockstore_add( s_aNeonLockStore, theLock );
+ }
+
+ if ( bLockit )
+@@ -1617,6 +1615,8 @@ void NeonSession::Lockit( ucb::Lock & rLock, bool bLockit )
+
+ if ( nRet == NE_OK )
+ {
++ ne_lockstore_add( s_aNeonLockStore, theLock );
++
+ uno::Sequence< rtl::OUString > aTokens( 1 );
+ aTokens[0] = rtl::OUString::createFromAscii( theLock->token );
+ rLock.LockTokens = aTokens;
+@@ -1633,13 +1633,10 @@ void NeonSession::Lockit( ucb::Lock & rLock, bool bLockit )
+ rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "a locking error occured" ) ),
+ uno::Reference< ucb::XCommandProcessor >() );
+ }
+- else
+- {
+ #if OSL_DEBUG_LEVEL > 0
++ else
+ fprintf( stderr, "WebDAV: failed to lock the file, status code is: %d\n", getStatusCode( m_pHttpSession ) );
+ #endif
+- ne_lockstore_remove( s_aNeonLockStore, theLock );
+- }
+ }
+ else
+ {
+@@ -1654,6 +1651,8 @@ void NeonSession::Lockit( ucb::Lock & rLock, bool bLockit )
+ #endif
+
+ ne_unlock( m_pHttpSession, theLock );
++ ne_lockstore_remove( s_aNeonLockStore, theLock );
++ // FIXME even ne_lock_destroy( theLock )?
+ }
+ }
+ }
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]