diff --git a/0001-no-home-as-templates.patch b/0001-no-home-as-templates.patch new file mode 100644 index 0000000..a2a17b7 --- /dev/null +++ b/0001-no-home-as-templates.patch @@ -0,0 +1,74 @@ +From 30d696d0a1b43b279a92d387557ade33b9212880 Mon Sep 17 00:00:00 2001 +From: Takeshi Abe +Date: Thu, 28 Mar 2019 19:04:30 +0900 +Subject: [PATCH] tdf#119890 followup: Forbid HOME to be the default dir + +... of user templates + +This is kludgy yet better than making innocent users waiting for +the template dialog ~forever as pointed out in the comments in +. + +Change-Id: I6dfdc0408effb06cc9175cd976ea6687e52a7136 +--- + .../backends/desktopbe/desktopbackend.cxx | 21 ++++++++++++------- + 1 file changed, 13 insertions(+), 8 deletions(-) + +diff --git a/shell/source/backends/desktopbe/desktopbackend.cxx b/shell/source/backends/desktopbe/desktopbackend.cxx +index 5923c6583fb7..4b1d0c44b182 100644 +--- a/shell/source/backends/desktopbe/desktopbackend.cxx ++++ b/shell/source/backends/desktopbe/desktopbackend.cxx +@@ -127,7 +127,7 @@ void Default::setPropertyValue(OUString const &, css::uno::Any const &) + static_cast< cppu::OWeakObject * >(this), -1); + } + +-OUString xdg_user_dir_lookup (const char *type) ++OUString xdg_user_dir_lookup (const char *type, bool bAllowHomeDir) + { + size_t nLenType = strlen(type); + char *config_home; +@@ -218,16 +218,20 @@ OUString xdg_user_dir_lookup (const char *type) + if (aUserDirBuf.getLength()>0 && !bError) + { + aDocumentsDirURL = aUserDirBuf.makeStringAndClear(); +- osl::Directory aDocumentsDir( aDocumentsDirURL ); +- if( osl::FileBase::E_None == aDocumentsDir.open() ) +- return aDocumentsDirURL; ++ if ( bAllowHomeDir || ++ (aDocumentsDirURL != aHomeDirURL && aDocumentsDirURL != aHomeDirURL + "/") ) ++ { ++ osl::Directory aDocumentsDir( aDocumentsDirURL ); ++ if( osl::FileBase::E_None == aDocumentsDir.open() ) ++ return aDocumentsDirURL; ++ } + } + /* Use fallbacks historical compatibility if nothing else exists */ + return aHomeDirURL + "/" + OUString::createFromAscii(type); + } + +-css::uno::Any xdgDirectoryIfExists(char const * type) { +- auto url = xdg_user_dir_lookup(type); ++css::uno::Any xdgDirectoryIfExists(char const * type, bool bAllowHomeDir) { ++ auto url = xdg_user_dir_lookup(type, bAllowHomeDir); + return css::uno::Any( + osl::Directory(url).open() == osl::FileBase::E_None + ? css::beans::Optional(true, css::uno::Any(url)) +@@ -238,12 +242,13 @@ css::uno::Any Default::getPropertyValue(OUString const & PropertyName) + { + if (PropertyName == "TemplatePathVariable") + { +- return xdgDirectoryIfExists("Templates"); ++ // Never pick up the HOME directory as the default location of user's templates ++ return xdgDirectoryIfExists("Templates", false); + } + + if (PropertyName == "WorkPathVariable") + { +- return xdgDirectoryIfExists("Documents"); ++ return xdgDirectoryIfExists("Documents", true); + } + + if ( PropertyName == "EnableATToolSupport" || +-- +2.20.1 + diff --git a/libreoffice.spec b/libreoffice.spec index f4a0ff5..265bee7 100644 --- a/libreoffice.spec +++ b/libreoffice.spec @@ -54,7 +54,7 @@ Summary: Free Software Productivity Suite Name: libreoffice Epoch: 1 Version: %{libo_version}.2 -Release: 3%{?libo_prerelease}%{?dist} +Release: 4%{?libo_prerelease}%{?dist} License: (MPLv1.1 or LGPLv3+) and LGPLv3 and LGPLv2+ and BSD and (MPLv1.1 or GPLv2 or LGPLv2 or Netscape) and Public Domain and ASL 2.0 and MPLv2.0 and CC0 URL: http://www.libreoffice.org/ @@ -244,6 +244,7 @@ Patch4: 0001-rhbz-1687589-KDE4-gpoll_wrapper-can-be-called-with-S.patch Patch5: 0001-rhbz-1690645-null-deref-of-pEntry-when-GetCurEntry-r.patch Patch6: 0001-rhbz-1690732-basic-font-variation-support.patch Patch7: 0001-rhbz-1699347-__glibcxx_requires_subscript-enabled-in.patch +Patch8: 0001-no-home-as-templates.patch %if 0%{?rhel} # not upstreamed @@ -2124,6 +2125,9 @@ done %{_includedir}/LibreOfficeKit %changelog +* Sat Apr 13 2019 Caolán McNamara - 1:6.2.2.2-4 +- tdf#119890 followup Forbid HOME to be the default dir for templates + * Fri Apr 12 2019 Caolán McNamara - 1:6.2.2.2-3 - Resolves: rhbz#1699347 __glibcxx_requires_subscript-enabled enabled