summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCédric Bosdonnat <cedric.bosdonnat@free.fr>2013-02-11 15:24:23 +0100
committerCédric Bosdonnat <cedric.bosdonnat@free.fr>2013-02-11 15:39:47 +0100
commit7b384313399ee8199cd7241527c3dbc1d50694a2 (patch)
treeff26e62a4d849c8ac0565c2b79084f062f50bac1
parent049cf7c753339f761cd49b83744abab6aa820ea4 (diff)
Fixed SfxDocTplService_Impl::setTitleForURL to keep all streams.
After commit 117fdb98, the setTitleForURL only wrote the meta.xml file to the odf container, dropping all the other streams. Use storeToStorage as in the old implementation to fix the problem. Even though marginal, this problem is important for templates renaming.
-rw-r--r--sfx2/source/doc/doctemplates.cxx15
1 files changed, 13 insertions, 2 deletions
diff --git a/sfx2/source/doc/doctemplates.cxx b/sfx2/source/doc/doctemplates.cxx
index 94ba00bd2c4f..d85ca00f72f5 100644
--- a/sfx2/source/doc/doctemplates.cxx
+++ b/sfx2/source/doc/doctemplates.cxx
@@ -32,6 +32,7 @@
#include <comphelper/componentcontext.hxx>
#include <comphelper/processfactory.hxx>
#include <comphelper/sequenceashashmap.hxx>
+#include <comphelper/storagehelper.hxx>
#include <comphelper/string.hxx>
#include <com/sun/star/beans/PropertyAttribute.hpp>
#include <com/sun/star/beans/XPropertySet.hpp>
@@ -639,8 +640,18 @@ sal_Bool SfxDocTplService_Impl::setTitleForURL( const OUString& rURL, const OUSt
try
{
m_xDocProps->loadFromMedium(rURL, Sequence<PropertyValue>());
- m_xDocProps->setTitle(aTitle );
- m_xDocProps->storeToMedium(rURL, Sequence<PropertyValue>());
+ m_xDocProps->setTitle(aTitle);
+
+ uno::Reference< embed::XStorage > xStorage = ::comphelper::OStorageHelper::GetStorageFromURL(
+ rURL, embed::ElementModes::READWRITE);
+
+ uno::Sequence<beans::PropertyValue> medium(2);
+ medium[0].Name = ::rtl::OUString("DocumentBaseURL");
+ medium[0].Value <<= rURL;
+ medium[1].Name = ::rtl::OUString("URL");
+ medium[1].Value <<= rURL;
+
+ m_xDocProps->storeToStorage(xStorage, medium);
return true;
}
catch ( Exception& )