diff options
-rw-r--r-- | officecfg/registry/data/org/openoffice/Office/Common.xcu | 5 | ||||
-rw-r--r-- | officecfg/registry/schema/org/openoffice/Office/Common.xcs | 11 | ||||
-rw-r--r-- | vcl/unx/generic/fontmanager/fontconfig.cxx | 9 |
3 files changed, 25 insertions, 0 deletions
diff --git a/officecfg/registry/data/org/openoffice/Office/Common.xcu b/officecfg/registry/data/org/openoffice/Office/Common.xcu index e45beb406041..3469c49051f4 100644 --- a/officecfg/registry/data/org/openoffice/Office/Common.xcu +++ b/officecfg/registry/data/org/openoffice/Office/Common.xcu @@ -552,4 +552,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 29573154da73..c0d4f00eff45 100644 --- a/officecfg/registry/schema/org/openoffice/Office/Common.xcs +++ b/officecfg/registry/schema/org/openoffice/Office/Common.xcs @@ -6719,5 +6719,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 dd9d17b7ad28..c85b12fd100d 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; @@ -901,6 +902,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) @@ -945,6 +949,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); } |