ucb/source/ucp/gvfs/gvfs_content.cxx | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-)
New commits: commit dcd1171ccccc5be0830c59bfacff74a254295d9b Author: Stephan Bergmann <sberg...@redhat.com> Date: Thu Mar 14 17:01:07 2013 +0100 fdo#54275: Fix GVFS UCP, so saving docs works again Similar to 8722f0e7ef690205d042c8a6b1fdf342a34ecbe1 "rhbz#895690: Make GIO UCP less brittle, so saving docs works again" the alternative, older GVFS UCP (--enable-gnome-vfs --disable-gio, as used e.g. in distro-configs/LibreOfficeLinux.conf) no longer works well in LO 3.6 and later: * For one, "getPropertyValues" did not work for non-existing files, just like in the GIO UCP case. * For another, creating the .~XXX# lock file uses "insert" with !bReplaceExisting, which apparently never worked for the GVFS UCP. Change-Id: Ie4dc032225697ff7b866a75327891c796d559392 (cherry picked from commit 112d3287a9424e0baaa8d956e6aff8932d48658e) Reviewed-on: https://gerrit.libreoffice.org/2730 Reviewed-by: Fridrich Strba <fridr...@documentfoundation.org> Tested-by: Fridrich Strba <fridr...@documentfoundation.org> diff --git a/ucb/source/ucp/gvfs/gvfs_content.cxx b/ucb/source/ucp/gvfs/gvfs_content.cxx index 7d29e0f..15a2ebf 100644 --- a/ucb/source/ucp/gvfs/gvfs_content.cxx +++ b/ucb/source/ucp/gvfs/gvfs_content.cxx @@ -577,11 +577,9 @@ uno::Reference< sdbc::XRow > Content::getPropertyValues( const uno::Reference< ucb::XCommandEnvironment >& xEnv ) { int nProps; - GnomeVFSResult result; uno::Sequence< beans::Property > allProperties; - if( ( result = getInfo( xEnv ) ) != GNOME_VFS_OK ) - cancelCommandExecution( result, xEnv, sal_False ); + getInfo( xEnv ); const beans::Property* pProps; @@ -602,10 +600,13 @@ uno::Reference< sdbc::XRow > Content::getPropertyValues( const beans::Property& rProp = pProps[ n ]; if ( rProp.Name == "Title" ) { - if (m_info.name && m_info.name[0] == '/') - g_warning ("Odd NFS title on item '%s' == '%s'", - getURI(), m_info.name); - xRow->appendString( rProp, GnomeToOUString( m_info.name ) ); + if ( m_info.name ) { + if (m_info.name[0] == '/') + g_warning ("Odd NFS title on item '%s' == '%s'", + getURI(), m_info.name); + xRow->appendString( rProp, GnomeToOUString( m_info.name ) ); + } else + xRow->appendVoid( rProp ); } else if ( rProp.Name == "ContentType" ) @@ -651,7 +652,10 @@ uno::Reference< sdbc::XRow > Content::getPropertyValues( xRow->appendVoid( rProp ); } else if ( rProp.Name == "IsHidden" ) - xRow->appendBoolean( rProp, ( m_info.name && m_info.name[0] == '.' ) ); + if ( m_info.name ) + xRow->appendBoolean( rProp, m_info.name[0] == '.' ); + else + xRow->appendVoid( rProp ); else if (rProp.Name.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( "IsVolume" ) ) || rProp.Name.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM( "IsCompactDisk" ) ) ) @@ -973,7 +977,7 @@ void Content::insert( GnomeVFSHandle *handle = NULL; ::rtl::OString aURI = getOURI(); - result = GNOME_VFS_OK; + result = GNOME_VFS_ERROR_GENERIC; if ( bReplaceExisting ) { Authentication aAuth( xEnv ); result = gnome_vfs_open( &handle, aURI.getStr(), GNOME_VFS_OPEN_WRITE ); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits