ooo-build r11630 - in trunk: . patches/src680
- From: jholesovsky svn gnome org
- To: svn-commits-list gnome org
- Subject: ooo-build r11630 - in trunk: . patches/src680
- Date: Tue, 19 Feb 2008 16:26:08 +0000 (GMT)
Author: jholesovsky
Date: Tue Feb 19 16:26:07 2008
New Revision: 11630
URL: http://svn.gnome.org/viewvc/ooo-build?rev=11630&view=rev
Log:
2008-02-18 Jan Holesovsky <kendy suse cz>
* patches/src680/gnome-vfs-reload.diff,
patches/src680/apply: Keep the file accessed through smb:// (and
webdav) read/write after reload.
Added:
trunk/patches/src680/gnome-vfs-reload.diff
Modified:
trunk/ChangeLog
trunk/patches/src680/apply
Modified: trunk/patches/src680/apply
==============================================================================
--- trunk/patches/src680/apply (original)
+++ trunk/patches/src680/apply Tue Feb 19 16:26:07 2008
@@ -559,6 +559,9 @@
# Move gnome-vfs out of the startup sequence, load it only when needed
gnome-vfs-late-init.diff, i#84137, jholesov
+# Keep the file read/write after reload
+gnome-vfs-reload.diff, n#264140, jholesov
+
[ GnomeVFS >= ooh680-m4 ]
# WebDAV locking
# It is in this section because it needs part of the gvfs-related patches
Added: trunk/patches/src680/gnome-vfs-reload.diff
==============================================================================
--- (empty file)
+++ trunk/patches/src680/gnome-vfs-reload.diff Tue Feb 19 16:26:07 2008
@@ -0,0 +1,97 @@
+diff --git sfx2/inc/sfx2/docfile.hxx sfx2/inc/sfx2/docfile.hxx
+index 5fb9d77..ef02e0c 100644
+--- sfx2/inc/sfx2/docfile.hxx
++++ sfx2/inc/sfx2/docfile.hxx
+@@ -292,13 +292,14 @@ public:
+ void SetCharset( ::rtl::OUString );
+ ::rtl::OUString GetBaseURL( bool bForSaving=false );
+
++ sal_Bool SupportsActiveStreaming( const rtl::OUString &rName ) const;
++
+ #if _SOLAR__PRIVATE
+ //REMOVE // the storage will be truncated, if it is still not open then the stream will be truncated
+ //REMOVE ::com::sun::star::uno::Reference< ::com::sun::star::embed::XStorage > GetOutputStorage_Impl();
+ SAL_DLLPRIVATE ::rtl::OUString GetOutputStorageURL_Impl();
+ SAL_DLLPRIVATE BOOL HasStorage_Impl() const;
+
+- SAL_DLLPRIVATE sal_Bool SupportsActiveStreaming_Impl( const rtl::OUString &rName ) const;
+ SAL_DLLPRIVATE sal_Bool BasedOnOriginalFile_Impl();
+ SAL_DLLPRIVATE void StorageBackup_Impl();
+ SAL_DLLPRIVATE ::rtl::OUString GetBackup_Impl();
+diff --git sfx2/source/doc/docfile.cxx sfx2/source/doc/docfile.cxx
+index 667ee0f..39c7206 100644
+--- sfx2/source/doc/docfile.cxx
++++ sfx2/source/doc/docfile.cxx
+@@ -744,7 +744,7 @@ const String& SfxMedium::GetPhysicalName( sal_Bool bForceCreateTempIfRemote ) co
+ {
+ if ( !aName.Len() && aLogicName.Len() )
+ {
+- if ( bForceCreateTempIfRemote || !SupportsActiveStreaming_Impl( aLogicName ) )
++ if ( bForceCreateTempIfRemote || !SupportsActiveStreaming( aLogicName ) )
+ (( SfxMedium*)this)->CreateFileStream();
+ }
+
+@@ -912,7 +912,7 @@ sal_Bool SfxMedium::TryStorage()
+ }
+
+ //------------------------------------------------------------------
+-sal_Bool SfxMedium::SupportsActiveStreaming_Impl( const rtl::OUString &rName ) const
++sal_Bool SfxMedium::SupportsActiveStreaming( const rtl::OUString &rName ) const
+ {
+ if ( ::utl::LocalFileHelper::IsLocalFile( rName ) )
+ return sal_True;
+@@ -936,7 +936,7 @@ sal_Bool SfxMedium::BasedOnOriginalFile_Impl()
+ {
+ return ( !pImp->pTempFile && !( aLogicName.Len() && pImp->m_bSalvageMode )
+ && GetURLObject().GetMainURL( INetURLObject::NO_DECODE ).getLength()
+- && SupportsActiveStreaming_Impl( GetURLObject().GetMainURL( INetURLObject::NO_DECODE ) )
++ && SupportsActiveStreaming( GetURLObject().GetMainURL( INetURLObject::NO_DECODE ) )
+ && ::utl::UCBContentHelper::IsDocument( GetURLObject().GetMainURL( INetURLObject::NO_DECODE ) ) );
+ }
+
+@@ -1002,7 +1002,7 @@ uno::Reference < embed::XStorage > SfxMedium::GetOutputStorage()
+
+ // medium based on OutputStream: must work with TempFile
+ if( aLogicName.CompareToAscii( "private:stream", 14 ) == COMPARE_EQUAL
+- || !SupportsActiveStreaming_Impl( aLogicName ) )
++ || !SupportsActiveStreaming( aLogicName ) )
+ CreateTempFileNoCopy();
+ // if Medium already contains a stream - TODO/LATER: store stream/outputstream in ImplData, not in Medium
+ else if ( GetItemSet()->GetItemState( SID_STREAM ) < SFX_ITEM_SET )
+@@ -1145,7 +1145,7 @@ uno::Reference < embed::XStorage > SfxMedium::GetStorage()
+
+ try
+ {
+- if ( IsReadOnly() && SupportsActiveStreaming_Impl( aLogicName ) )
++ if ( IsReadOnly() && SupportsActiveStreaming( aLogicName ) )
+ {
+ //TODO/LATER: performance problem if not controlled by special Mode in SfxMedium
+ //(should be done only for permanently open storages)
+@@ -1962,7 +1962,7 @@ void SfxMedium::Transfer_Impl()
+ xComEnv = new ::ucbhelper::CommandEnvironment( xInteractionHandler,
+ Reference< ::com::sun::star::ucb::XProgressHandler >() );
+
+- if ( SupportsActiveStreaming_Impl( aDest.GetMainURL( INetURLObject::NO_DECODE ) ) || !aDest.removeSegment() )
++ if ( SupportsActiveStreaming( aDest.GetMainURL( INetURLObject::NO_DECODE ) ) || !aDest.removeSegment() )
+ {
+ TransactedTransferForFS_Impl( aSource, aDest, xComEnv );
+ }
+diff --git sfx2/source/view/.viewfrm.cxx.swp sfx2/source/view/.viewfrm.cxx.swp
+index 1b98d72..f57c4b7 100644
+Binary files sfx2/source/view/.viewfrm.cxx.swp and sfx2/source/view/.viewfrm.cxx.swp differ
+diff --git sfx2/source/view/viewfrm.cxx sfx2/source/view/viewfrm.cxx
+index 70db0f8..d72f71f 100644
+--- sfx2/source/view/viewfrm.cxx
++++ sfx2/source/view/viewfrm.cxx
+@@ -692,6 +692,11 @@ void SfxViewFrame::ExecReload_Impl( SfxRequest& rReq )
+
+ sal_Bool bHandsOff = pMedium->GetURLObject().GetProtocol() == INET_PROT_FILE;
+
++ // we must do the same for the contents that support active
++ // streaming
++ if ( !bHandsOff && pMedium && pMedium->SupportsActiveStreaming( aURL ) )
++ bHandsOff = sal_True;
++
+ // bestehende SfxMDIFrames f"ur dieses Doc leeren
+ // eigenes Format oder R/O jetzt editierbar "offnen?
+ SfxViewNotificatedFrameList_Impl aFrames;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]