[Libreoffice-commits] .: Branch 'libreoffice-3-5' - svtools/source
Michael Meeks
michael at kemper.freedesktop.org
Mon Mar 19 03:44:43 PDT 2012
svtools/source/misc/templatefoldercache.cxx | 11 +++++++++++
1 file changed, 11 insertions(+)
New commits:
commit ec752de623f4f7c7e297422730f193034e21f93f
Author: Stephan Bergmann <sbergman at redhat.com>
Date: Fri Mar 16 14:57:51 2012 +0100
fdo#37593 Make sure needsUpdate compares canonicalized paths
...so that it does not erroneously always claim an update is needed, so that
SvtDocumentTemplateDialog::UpdateHdl_Impl does not always jump back to
OpenTemplateRoot() shortly after opening the dialog (and thus jumps away from
the last remembered folder).
Signed-off-by: Michael Meeks <michael.meeks at suse.com>
diff --git a/svtools/source/misc/templatefoldercache.cxx b/svtools/source/misc/templatefoldercache.cxx
index 41f0af0..d5325f4 100644
--- a/svtools/source/misc/templatefoldercache.cxx
+++ b/svtools/source/misc/templatefoldercache.cxx
@@ -695,6 +695,17 @@ namespace svt
{
String sTemplatePath( aDirs.GetToken( i, ';' ) );
sTemplatePath = aPathOptions.ExpandMacros( sTemplatePath );
+
+ // Make sure excess ".." path segments (from expanding bootstrap
+ // variables in paths) are normalized in the same way they are
+ // normalized for paths read from the .templdir.cache file (where
+ // paths have gone through makeRelocatable URL on writing out and
+ // then through makeAbsoluteURL when reading back in), as otherwise
+ // equalStates() in needsUpdate() could erroneously consider
+ // m_aCurrentState and m_aPreviousState as different:
+ sTemplatePath = getOfficeInstDirs()->makeAbsoluteURL(
+ getOfficeInstDirs()->makeRelocatableURL(sTemplatePath));
+
// create a new entry
m_aCurrentState.push_back( new TemplateContent( INetURLObject( sTemplatePath ) ) );
TemplateFolderContent::iterator aCurrentRoot = m_aCurrentState.end();
More information about the Libreoffice-commits
mailing list