[REVIEW-3-5] fdo#37593 Make sure needsUpdate compares canonicalized paths
Stephan Bergmann
sbergman at redhat.com
Fri Mar 16 07:33:45 PDT 2012
Please consider the below fix for
<https://bugs.freedesktop.org/show_bug.cgi?id=37593> "'File > New >
Template' no longer remembers my last open folder" for inclusion in
libreoffice-3-5.
Stephan
On 03/16/2012 03:03 PM, Stephan Bergmann wrote:
> commit 32a5ad89a505be22fb8ca0b990a8991a7de6453a
> 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).
>
> diff --git a/svtools/source/misc/templatefoldercache.cxx b/svtools/source/misc/templatefoldercache.cxx
> index d7a5679..1486fb2 100644
> --- a/svtools/source/misc/templatefoldercache.cxx
> +++ b/svtools/source/misc/templatefoldercache.cxx
> @@ -693,6 +693,17 @@ namespace svt
> {
> String sTemplatePath( aDirs.getToken(0, ';', nIndex) );
> 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
mailing list