[Libreoffice-commits] core.git: shell/Library_desktopbe.mk shell/source

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Thu Sep 20 11:46:18 UTC 2018


 shell/Library_desktopbe.mk                         |    1 
 shell/source/backends/desktopbe/desktopbackend.cxx |   23 ++++++++++-----------
 2 files changed, 13 insertions(+), 11 deletions(-)

New commits:
commit f19caba47949ebe918f3b76e49a398192b2da365
Author:     Jan-Marek Glogowski <glogow at fbihome.de>
AuthorDate: Wed Sep 19 11:48:36 2018 +0000
Commit:     Jan-Marek Glogowski <glogow at fbihome.de>
CommitDate: Thu Sep 20 13:45:52 2018 +0200

    Don't try to load VCL conflicting config backends
    
    Since we can't load Qt4 and Qt5 based libraries in one process
    prevent loading the conflicting config backends based on the VCL
    backend.
    
    Also removes the reference to the long gone KDE3 backend.
    
    Change-Id: I7a9bc449ebf825b47882f8bd207496a2a9597608
    Reviewed-on: https://gerrit.libreoffice.org/60764
    Tested-by: Jenkins
    Reviewed-by: Jan-Marek Glogowski <glogow at fbihome.de>

diff --git a/shell/Library_desktopbe.mk b/shell/Library_desktopbe.mk
index 7dc32ba47733..f782a0a146e3 100644
--- a/shell/Library_desktopbe.mk
+++ b/shell/Library_desktopbe.mk
@@ -17,6 +17,7 @@ $(eval $(call gb_Library_use_libraries,desktopbe1,\
 	cppu \
 	cppuhelper \
 	sal \
+	vcl \
 ))
 
 $(eval $(call gb_Library_set_componentfile,desktopbe1,shell/source/backends/desktopbe/desktopbe1))
diff --git a/shell/source/backends/desktopbe/desktopbackend.cxx b/shell/source/backends/desktopbe/desktopbackend.cxx
index b5d77eed9f49..8cfaefc9f9c9 100644
--- a/shell/source/backends/desktopbe/desktopbackend.cxx
+++ b/shell/source/backends/desktopbe/desktopbackend.cxx
@@ -52,6 +52,7 @@
 #include <rtl/ustring.hxx>
 #include <sal/types.h>
 #include <uno/current_context.hxx>
+#include <vcl/svapp.hxx>
 
 namespace {
 
@@ -295,20 +296,20 @@ css::uno::Reference< css::uno::XInterface > createInstance(
         current->getValueByName("system.desktop-environment") >>= desktop;
     }
 
+    OUString sTK = Application::GetToolkitName();
+
     // Fall back to the default if the specific backend is not available:
     css::uno::Reference< css::uno::XInterface > backend;
-    if ( desktop == "KDE" ) {
-        backend = createBackend(
-            context,
-            "com.sun.star.configuration.backend.KDEBackend");
-    } else if ( desktop == "KDE4" ) {
-        backend = createBackend(
-            context,
-            "com.sun.star.configuration.backend.KDE4Backend");
+    if ( desktop == "KDE4" ) {
+        if (!(sTK.startsWith("qt5") || sTK.startsWith("kde5")))
+            backend = createBackend(
+                context,
+                "com.sun.star.configuration.backend.KDE4Backend");
     } else if ( desktop == "KDE5" ) {
-        backend = createBackend(
-            context,
-            "com.sun.star.configuration.backend.KDE5Backend");
+        if (!(sTK.startsWith("kde4")))
+            backend = createBackend(
+                context,
+                "com.sun.star.configuration.backend.KDE5Backend");
     }
     return backend.is()
         ? backend : static_cast< cppu::OWeakObject * >(new Default);


More information about the Libreoffice-commits mailing list