kde-plasma/kwin: Backport possible fix for bugs on X11 like #616592

Package-Manager: Portage-2.3.6, Repoman-2.3.1
This commit is contained in:
Andreas Sturmlechner
2017-07-27 18:39:57 +02:00
parent 449ff71062
commit e15789b6d8
2 changed files with 143 additions and 0 deletions

View File

@@ -0,0 +1,45 @@
From 4c996a57d4c01f092f9ed8f98a9f476c14c0c777 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Martin=20Fl=C3=B6ser?= <mgraesslin@kde.org>
Date: Thu, 20 Jul 2017 19:14:07 +0200
Subject: Call Platform::setupActionForGlobalAccel on the Client shortcut
Summary:
Platform::setupActionForGlobalAccel is an important call on X11 platform.
Without the x11 timestamp doesn't get updated and calls in KWin might
fail - e.g. the activation of the Client which is supposed to happen.
Test Plan: compiles
Reviewers: #kwin, #plasma
Subscribers: plasma-devel, kwin
Tags: #kwin
Differential Revision: https://phabricator.kde.org/D6802
---
useractions.cpp | 2 ++
1 file changed, 2 insertions(+)
diff --git a/useractions.cpp b/useractions.cpp
index 502be96..d92b027 100644
--- a/useractions.cpp
+++ b/useractions.cpp
@@ -37,6 +37,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
#include "input.h"
#include "workspace.h"
#include "effects.h"
+#include "platform.h"
#include "screens.h"
#include "virtualdesktops.h"
#include "scripting/scripting.h"
@@ -1050,6 +1051,7 @@ void Workspace::clientShortcutUpdated(Client* c)
if (!c->shortcut().isEmpty()) {
if (action == NULL) { // new shortcut
action = new QAction(this);
+ kwinApp()->platform()->setupActionForGlobalAccel(action);
action->setProperty("componentName", QStringLiteral(KWIN_NAME));
action->setObjectName(key);
action->setText(i18n("Activate Window (%1)", c->caption()));
--
cgit v0.11.2

View File

@@ -0,0 +1,98 @@
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
KDE_HANDBOOK="optional"
KDE_TEST="optional"
VIRTUALX_REQUIRED="test"
inherit kde5
DESCRIPTION="KDE window manager"
LICENSE="GPL-2+"
KEYWORDS="~amd64 ~arm ~arm64 ~x86"
IUSE="gles2 multimedia"
COMMON_DEPEND="
$(add_frameworks_dep kactivities)
$(add_frameworks_dep kauth)
$(add_frameworks_dep kcmutils)
$(add_frameworks_dep kcompletion)
$(add_frameworks_dep kconfig)
$(add_frameworks_dep kconfigwidgets)
$(add_frameworks_dep kcoreaddons)
$(add_frameworks_dep kcrash)
$(add_frameworks_dep kdeclarative)
$(add_frameworks_dep kglobalaccel)
$(add_frameworks_dep ki18n)
$(add_frameworks_dep kiconthemes)
$(add_frameworks_dep kidletime)
$(add_frameworks_dep kinit)
$(add_frameworks_dep kio)
$(add_frameworks_dep knewstuff)
$(add_frameworks_dep knotifications)
$(add_frameworks_dep kpackage)
$(add_frameworks_dep kservice)
$(add_frameworks_dep kwayland)
$(add_frameworks_dep kwidgetsaddons)
$(add_frameworks_dep kwindowsystem X)
$(add_frameworks_dep kxmlgui)
$(add_frameworks_dep plasma)
$(add_plasma_dep breeze)
$(add_plasma_dep kdecoration)
$(add_plasma_dep kscreenlocker)
$(add_qt_dep qtcore)
$(add_qt_dep qtdbus)
$(add_qt_dep qtdeclarative)
$(add_qt_dep qtgui 'gles2=')
$(add_qt_dep qtscript)
$(add_qt_dep qtwidgets)
$(add_qt_dep qtx11extras)
>=dev-libs/libinput-1.5
>=dev-libs/wayland-1.2
media-libs/fontconfig
media-libs/freetype
media-libs/libepoxy
media-libs/mesa[egl,gbm,gles2?,wayland]
virtual/libudev:=
x11-libs/libICE
x11-libs/libSM
x11-libs/libX11
x11-libs/libXi
x11-libs/libdrm
>=x11-libs/libxcb-1.10
>=x11-libs/libxkbcommon-0.7.0
x11-libs/xcb-util-cursor
x11-libs/xcb-util-image
x11-libs/xcb-util-keysyms
"
RDEPEND="${COMMON_DEPEND}
$(add_plasma_dep kde-cli-tools)
multimedia? (
|| (
$(add_qt_dep qtmultimedia 'gstreamer,qml')
$(add_qt_dep qtmultimedia 'gstreamer010,qml')
)
)
!<kde-apps/kdeartwork-meta-15.08.3-r1:4
!kde-plasma/kwin:4
!kde-plasma/systemsettings:4
"
DEPEND="${COMMON_DEPEND}
$(add_qt_dep designer)
$(add_qt_dep qtconcurrent)
x11-proto/xproto
test? ( x11-libs/xcb-util-wm )
"
RESTRICT+=" test"
PATCHES=(
"${FILESDIR}/${PN}-5.8.7-glibc-sysmacros.patch"
"${FILESDIR}/${P}-globalaccel.patch"
)
src_prepare() {
kde5_src_prepare
use multimedia || eapply "${FILESDIR}/${PN}-gstreamer-optional.patch"
}