From 62c0e84768a8f83c7c7ce1e9401a04e68a98c226 Mon Sep 17 00:00:00 2001 From: Tassilo Horn Date: Tue, 12 Feb 2013 11:52:47 +0100 Subject: [PATCH] * doc-view.el (doc-view-odf->pdf-converter-soffice): Use separate UserInstallation when calling soffice to work around LibreOffice bug 37531. --- lisp/ChangeLog | 6 ++++++ lisp/doc-view.el | 16 ++++++++++++++-- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 0aaead88b9c..3dd163f0612 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,9 @@ +2013-02-12 Tassilo Horn + + * doc-view.el (doc-view-odf->pdf-converter-soffice): Use separate + UserInstallation when calling soffice to work around LibreOffice + bug 37531. + 2013-02-12 Glenn Morris * files.el (basic-save-buffer): diff --git a/lisp/doc-view.el b/lisp/doc-view.el index edd59a7b518..da0b728ce91 100644 --- a/lisp/doc-view.el +++ b/lisp/doc-view.el @@ -940,8 +940,20 @@ is named like ODF with the extension turned to pdf." The converted PDF is put into the current cache directory, and it is named like ODF with the extension turned to pdf." (doc-view-start-process "odf->pdf" doc-view-odf->pdf-converter-program - (list "--headless" "--convert-to" "pdf" - "--outdir" (doc-view-current-cache-dir) odf) + (list + ;; FIXME: soffice doesn't work when there's + ;; another running LibreOffice instance, in + ;; which case it returns success without + ;; actually doing anything. See + ;; LibreOffice bug + ;; https://bugs.freedesktop.org/show_bug.cgi?id=37531. + ;; A workaround is to start soffice with a + ;; separate UserInstallation directory. + (concat "-env:UserInstallation=file://" + (expand-file-name (format "libreoffice-docview%d" (user-uid)) + temporary-file-directory)) + "--headless" "--convert-to" "pdf" + "--outdir" (doc-view-current-cache-dir) odf) callback)) (defun doc-view-pdf/ps->png (pdf-ps png) -- 2.39.5