svtools/source/misc/templatefoldercache.cxx | 11 +++++++++++ 1 file changed, 11 insertions(+)
New commits: commit ec752de623f4f7c7e297422730f193034e21f93f Author: Stephan Bergmann <[email protected]> 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 <[email protected]> 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(); _______________________________________________ Libreoffice-commits mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
