[Libreoffice-commits] core.git: Branch 'libreoffice-5-4' - officecfg/registry vcl/unx

Samuel Mehrbrodt Samuel.Mehrbrodt at cib.de
Fri Jul 14 23:12:13 UTC 2017


 officecfg/registry/data/org/openoffice/Office/Common.xcu   |    5 +++++
 officecfg/registry/schema/org/openoffice/Office/Common.xcs |   11 +++++++++++
 vcl/unx/generic/fontmanager/fontconfig.cxx                 |    9 +++++++++
 3 files changed, 25 insertions(+)

New commits:
commit aa00f568a699dd00e2a29cb0d5c0fb1122b82f61
Author: Samuel Mehrbrodt <Samuel.Mehrbrodt at cib.de>
Date:   Thu Jul 13 09:06:53 2017 +0200

    tdf#104883 Don't call InstallFontconfigResources if it's not available
    
    We need to call it once because we have no other way to detect whether
    it's working or not.
    But if we receive an error the first time, we disable it from now on.
    
    Change-Id: I67dba8b65660ff7e05bdf2ddc18b565550901cd1
    Reviewed-on: https://gerrit.libreoffice.org/39894
    Tested-by: Jenkins <ci at libreoffice.org>
    Reviewed-by: Thorsten Behrens <Thorsten.Behrens at CIB.de>

diff --git a/officecfg/registry/data/org/openoffice/Office/Common.xcu b/officecfg/registry/data/org/openoffice/Office/Common.xcu
index 7e10c8932f33..eef41786feed 100644
--- a/officecfg/registry/data/org/openoffice/Office/Common.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/Common.xcu
@@ -530,4 +530,9 @@
       </prop>
     </node>
   </node>
+  <node oor:name="PackageKit">
+      <prop oor:name="EnableFontInstallation" oor:type="xs:boolean">
+        <value install:module="unx">true</value>
+      </prop>
+  </node>
 </oor:component-data>
diff --git a/officecfg/registry/schema/org/openoffice/Office/Common.xcs b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
index 36c0b5f97fe1..c07acff7c7fe 100644
--- a/officecfg/registry/schema/org/openoffice/Office/Common.xcs
+++ b/officecfg/registry/schema/org/openoffice/Office/Common.xcs
@@ -6684,5 +6684,16 @@
         <value>true</value>
       </prop>
     </group>
+    <group oor:name="PackageKit">
+      <info>
+        <desc>Contains settings related to PackageKit (Unix only).</desc>
+      </info>
+      <prop oor:name="EnableFontInstallation" oor:type="xs:boolean" oor:nillable="false">
+        <info>
+           <desc>Specifies if missing font installation should be triggered.</desc>
+        </info>
+        <value>true</value>
+      </prop>
+    </group>
   </component>
 </oor:component-schema>
diff --git a/vcl/unx/generic/fontmanager/fontconfig.cxx b/vcl/unx/generic/fontmanager/fontconfig.cxx
index 07614f60e399..d451f482b90b 100644
--- a/vcl/unx/generic/fontmanager/fontconfig.cxx
+++ b/vcl/unx/generic/fontmanager/fontconfig.cxx
@@ -31,6 +31,7 @@
 #include <rtl/strbuf.hxx>
 #include <unicode/uchar.h>
 #include <unicode/uscript.h>
+#include <officecfg/Office/Common.hxx>
 
 using namespace psp;
 
@@ -875,6 +876,9 @@ namespace
 #if ENABLE_DBUS
 IMPL_LINK_NOARG(PrintFontManager, autoInstallFontLangSupport, Timer *, void)
 {
+    if (!officecfg::Office::Common::PackageKit::EnableFontInstallation::get())
+        return;
+
     guint xid = get_xid_for_dbus();
 
     if (!xid)
@@ -919,6 +923,11 @@ IMPL_LINK_NOARG(PrintFontManager, autoInstallFontLangSupport, Timer *, void)
     /* check the error value */
     if (error != nullptr)
     {
+        // Disable this method from now on. It's simply not available on some systems
+        // and leads to an error dialog being shown each tim theis is called tdf#104883
+        std::shared_ptr<comphelper::ConfigurationChanges> batch( comphelper::ConfigurationChanges::create() );
+        officecfg::Office::Common::PackageKit::EnableFontInstallation::set(false, batch);
+        batch->commit();
         g_debug("InstallFontconfigResources problem : %s", error->message);
         g_error_free(error);
     }


More information about the Libreoffice-commits mailing list