c663c04178
* kde5-detection.patch OBS-URL: https://build.opensuse.org/package/show/LibreOffice:Factory/libreoffice?expand=0&rev=751
59 lines
2.0 KiB
Diff
59 lines
2.0 KiB
Diff
From 998d18077615b28bca7b411528c8a1c11665e173 Mon Sep 17 00:00:00 2001
|
|
From: Michael Weghorn <m.weghorn@posteo.de>
|
|
Date: Tue, 29 Jan 2019 08:18:15 +0100
|
|
Subject: [PATCH] tdf#123011 Detect kde5 desktop in Plasma Wayland session
|
|
|
|
Both env variables 'KDE_FULL_SESSION' and 'KDE_SESSION_VERSION'
|
|
are set in both X11 and Wayland sessions for Plasma 5 (kde5),
|
|
s.a. https://userbase.kde.org/KDE_System_Administration/Environment_Variables,
|
|
so drop the alternative X-specific check.
|
|
|
|
Move the check for a kde5 upward, so that kde5 is actually detected
|
|
in a Plasma 5 Wayland session, rather than falling back to
|
|
assuming GNOME.
|
|
|
|
Change-Id: Ieb5b47272f375ceed4d44a2ccc5b517222ae86b9
|
|
---
|
|
|
|
diff --git a/vcl/unx/generic/desktopdetect/desktopdetector.cxx b/vcl/unx/generic/desktopdetect/desktopdetector.cxx
|
|
index e7cb9b9..9f65b16 100644
|
|
--- a/vcl/unx/generic/desktopdetect/desktopdetector.cxx
|
|
+++ b/vcl/unx/generic/desktopdetect/desktopdetector.cxx
|
|
@@ -191,14 +191,11 @@
|
|
return false;
|
|
}
|
|
|
|
-static bool is_kde5_desktop( Display* pDisplay )
|
|
+static bool is_kde5_desktop()
|
|
{
|
|
static const char * pFullVersion = getenv( "KDE_FULL_SESSION" );
|
|
static const char * pSessionVersion = getenv( "KDE_SESSION_VERSION" );
|
|
if ( pFullVersion && pSessionVersion && strcmp(pSessionVersion, "5") == 0)
|
|
- return true;
|
|
-
|
|
- if ( KDEVersion( pDisplay ) == 5 )
|
|
return true;
|
|
|
|
return false;
|
|
@@ -280,6 +277,9 @@
|
|
ret = DESKTOP_LXQT;
|
|
else
|
|
{
|
|
+ if ( is_kde5_desktop() )
|
|
+ return DESKTOP_KDE5;
|
|
+
|
|
// tdf#121275 if we still can't tell, and WAYLAND_DISPLAY
|
|
// is set, default to gtk3
|
|
const char* pWaylandStr = getenv("WAYLAND_DISPLAY");
|
|
@@ -328,9 +328,7 @@
|
|
|
|
XErrorHandler pOldHdl = XSetErrorHandler( autodect_error_handler );
|
|
|
|
- if ( is_kde5_desktop( pDisplay ) )
|
|
- ret = DESKTOP_KDE5;
|
|
- else if ( is_kde4_desktop( pDisplay ) )
|
|
+ if ( is_kde4_desktop( pDisplay ) )
|
|
ret = DESKTOP_KDE4;
|
|
else if ( is_gnome_desktop( pDisplay ) )
|
|
ret = DESKTOP_GNOME;
|