summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'kde-plasma/kwin')
-rw-r--r--kde-plasma/kwin/Manifest1
-rw-r--r--kde-plasma/kwin/files/kwin-5.14.3-kcrash-init.patch48
-rw-r--r--kde-plasma/kwin/files/kwin-5.14.3-resizewindows-crash.patch72
-rw-r--r--kde-plasma/kwin/files/kwin-5.14.3-virtualdesktop-crash.patch137
-rw-r--r--kde-plasma/kwin/kwin-5.14.3-r1.ebuild112
5 files changed, 0 insertions, 370 deletions
diff --git a/kde-plasma/kwin/Manifest b/kde-plasma/kwin/Manifest
index 1301ac1c1c7b..ad62bb3ae546 100644
--- a/kde-plasma/kwin/Manifest
+++ b/kde-plasma/kwin/Manifest
@@ -1,2 +1 @@
-DIST kwin-5.14.3.tar.xz 6573740 BLAKE2B 53d80cf2e2bdb8b74421badddf2c3c7620ddaf337a8f91239c5de8a74efb7c3f4cce1bddda722a93f0d5a89e7639015b3207fb3b5ef483be2781ca742f742d29 SHA512 4ba7a6cc02c1a5e94f4d08c6c72968ecf1e1c72fb9f047e2db014a525d3f6e30b8e16d1dc2043f077e3f63b67362355c456295f7962e1661d667c01e0b22626c
DIST kwin-5.14.5.tar.xz 6563208 BLAKE2B 693f82408352a17e97fb1fd81ac78a2c14e7e417347fab4028df0bb6f30e0fc7e0bd976fb90c9e441b98cb9ab00aaa1e1c39087baa76a532fc4a575aedc656fe SHA512 b098d131bb2117c6f96950b14896a60e46d3de858ba537e91890405d10e40e20fce26644dfb55d8b01136c8a8f4c30d825beaaaded9be49aeba1b70bfc945546
diff --git a/kde-plasma/kwin/files/kwin-5.14.3-kcrash-init.patch b/kde-plasma/kwin/files/kwin-5.14.3-kcrash-init.patch
deleted file mode 100644
index fc9c3007f840..000000000000
--- a/kde-plasma/kwin/files/kwin-5.14.3-kcrash-init.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From aace9b1675819feab81d50f694391c7d854d9822 Mon Sep 17 00:00:00 2001
-From: Harald Sitter <sitter@kde.org>
-Date: Fri, 16 Nov 2018 12:50:53 +0100
-Subject: actually initialize kcrash for xclipboardsync
-
-Summary:
-to successfully use kcrash when linking with as-needed (which is a default
-flag on many linux distros) one also needs to call KCrash::initialize.
-
-https://markmail.org/thread/zv5pheijaze72bzs
-
-Test Plan: builds; correctly links kcrash
-
-Reviewers: davidedmundson
-
-Reviewed By: davidedmundson
-
-Subscribers: kwin
-
-Tags: #kwin
-
-Differential Revision: https://phabricator.kde.org/D16923
----
- helpers/xclipboardsync/main.cpp | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/helpers/xclipboardsync/main.cpp b/helpers/xclipboardsync/main.cpp
-index 2f06e9c..1a5e5ee 100644
---- a/helpers/xclipboardsync/main.cpp
-+++ b/helpers/xclipboardsync/main.cpp
-@@ -19,6 +19,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
- *********************************************************************/
- #include "waylandclipboard.h"
-
-+#include <KCrash>
- #include <QGuiApplication>
-
- #include <config-kwin.h>
-@@ -40,6 +41,7 @@ int main(int argc, char *argv[])
- argv[0], qPrintable(app.platformName()));
- return 1;
- }
-+ KCrash::initialize();
- new WaylandClipboard(&app);
- return app.exec();
- }
---
-cgit v0.11.2
diff --git a/kde-plasma/kwin/files/kwin-5.14.3-resizewindows-crash.patch b/kde-plasma/kwin/files/kwin-5.14.3-resizewindows-crash.patch
deleted file mode 100644
index 37963c8395c5..000000000000
--- a/kde-plasma/kwin/files/kwin-5.14.3-resizewindows-crash.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-From 406b70b04e093c13faf763e2d885797ae037d806 Mon Sep 17 00:00:00 2001
-From: Vlad Zagorodniy <vladzzag@gmail.com>
-Date: Mon, 12 Nov 2018 17:45:14 +0200
-Subject: [wayland] Don't crash when resizing windows
-
-Summary:
-If you resize a decorated client by using the resize user action(press
-Alt + F3 > More Actions > Resize), then KWin will crash because it gets
-stuck in an infinite loop (AbstractClient::performMoveResize <->
-ShellClient::setGeometry).
-
-Here's how KWin gets stuck in that loop:
-* when you finish resizing the client, AbstractClient::keyPressEvent
- will call AbstractClient::finishMoveResize;
-* the first thing that finishMoveResize does is block geometry updates,
- then it does some clean up (e.g. reset the value of isMoveResize(), etc),
- updates the geometry of the client and when it's done, it will emit
- clientFinishUserMoveResized signal;
-* when PointerInputRedirection notices that signal, it will call
- processDecorationMove on the client, which in its turn will indirectly
- call AbstractClient::startMoveResize;
-* when it's time to go back to AbstractClient::keyPressEvent, geometry
- updates are unblocked and if there are any pending geometry updates,
- then ShellClient::setGeometry will be called;
-* ShellClient::setGeometry will eventually call ShellClient::doSetGeometry;
-* ShellClient::doSetGeometry will call AbstractClient::performMoveResize
- because AbstractClient::processDecorationMove indirectly called
- AbstractClient::startMoveResize;
-* AbstractClient::performMoveResize calls ShellClient::setGeometry;
-* (at this point, KWin got stuck in the infinite loop)
-
-This change swaps setMoveResizePointerButtonDown and finishMoveResize,
-so processDecorationMove won't indirectly call startMoveResize.
-
-BUG: 397577
-FIXED-IN: 5.14.4
-
-Reviewers: #kwin, davidedmundson
-
-Reviewed By: #kwin, davidedmundson
-
-Subscribers: kwin
-
-Tags: #kwin
-
-Differential Revision: https://phabricator.kde.org/D16846
----
- abstract_client.cpp | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/abstract_client.cpp b/abstract_client.cpp
-index b4628f2..ed72b9c 100644
---- a/abstract_client.cpp
-+++ b/abstract_client.cpp
-@@ -1457,13 +1457,13 @@ void AbstractClient::keyPressEvent(uint key_code)
- case Qt::Key_Space:
- case Qt::Key_Return:
- case Qt::Key_Enter:
-- finishMoveResize(false);
- setMoveResizePointerButtonDown(false);
-+ finishMoveResize(false);
- updateCursor();
- break;
- case Qt::Key_Escape:
-- finishMoveResize(true);
- setMoveResizePointerButtonDown(false);
-+ finishMoveResize(true);
- updateCursor();
- break;
- default:
---
-cgit v0.11.2
diff --git a/kde-plasma/kwin/files/kwin-5.14.3-virtualdesktop-crash.patch b/kde-plasma/kwin/files/kwin-5.14.3-virtualdesktop-crash.patch
deleted file mode 100644
index 4e480a06be8e..000000000000
--- a/kde-plasma/kwin/files/kwin-5.14.3-virtualdesktop-crash.patch
+++ /dev/null
@@ -1,137 +0,0 @@
-From ad28da84e78c7eb7ff1e608c4819707b2142daea Mon Sep 17 00:00:00 2001
-From: Vlad Zagorodniy <vladzzag@gmail.com>
-Date: Mon, 5 Nov 2018 14:59:42 +0200
-Subject: [effects/slidingpopups] Don't crash when sliding virtual desktops
-
-Summary:
-If you switch virtual desktops while krunner is sliding in, then
-depending on whether your distro strips assert statements away,
-KWin can crash.
-
-The reason why it crashes is the sliding popups effect tries to unref
-deleted windows that it hasn't referenced before (if there is an active
-full screen effect, then popups won't be slided out, which in its turn
-means that we won't reference deleted windows). So, in the end, the
-refcount of those windows can be -1. That triggers an assert statement
-in the destructor of the Deleted class, which checks whether the
-refcount is equal to 0.
-
-Popups are not slided while there is an active full screen effect because
-we don't know what the full screen effect does.
-
-This patch adjusts the sliding popups effect so it stops all active
-animations when user switches virtual desktops or when a full screen
-effect kicks in. We need to do that so the effect won't try to
-unreference windows in postPaintWindow.
-
-Visually, it doesn't look quite nice, but for now that's good enough.
-A proper fix would be more complex: we would need to make sure that
-full screen effects ignore sliding popups (and also maybe docks) and
-perform some input redirection.
-
-BUG: 400170
-FIXED-IN: 5.14.4
-
-Test Plan: I'm not able anymore to reproduce bug 400170.
-
-Reviewers: #kwin, graesslin
-
-Reviewed By: #kwin, graesslin
-
-Subscribers: davidedmundson, graesslin, kwin
-
-Tags: #kwin
-
-Differential Revision: https://phabricator.kde.org/D16731
----
- effects/slidingpopups/slidingpopups.cpp | 22 ++++++++++++++++++++++
- effects/slidingpopups/slidingpopups.h | 6 +++---
- 2 files changed, 25 insertions(+), 3 deletions(-)
-
-diff --git a/effects/slidingpopups/slidingpopups.cpp b/effects/slidingpopups/slidingpopups.cpp
-index a104a5c..066b2a3 100644
---- a/effects/slidingpopups/slidingpopups.cpp
-+++ b/effects/slidingpopups/slidingpopups.cpp
-@@ -3,6 +3,7 @@
- This file is part of the KDE project.
-
- Copyright (C) 2009 Marco Martin notmart@gmail.com
-+Copyright (C) 2018 Vlad Zagorodniy <vladzzag@gmail.com>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
-@@ -53,6 +54,11 @@ SlidingPopupsEffect::SlidingPopupsEffect()
- m_atom = effects->announceSupportProperty(QByteArrayLiteral("_KDE_SLIDE"), this);
- }
- );
-+ connect(effects, qOverload<int, int, EffectWindow *>(&EffectsHandler::desktopChanged),
-+ this, &SlidingPopupsEffect::stopAnimations);
-+ connect(effects, &EffectsHandler::activeFullScreenEffectChanged,
-+ this, &SlidingPopupsEffect::stopAnimations);
-+
- reconfigure(ReconfigureAll);
- }
-
-@@ -434,6 +440,22 @@ void SlidingPopupsEffect::slideOut(EffectWindow *w)
- w->addRepaintFull();
- }
-
-+void SlidingPopupsEffect::stopAnimations()
-+{
-+ for (auto it = m_animations.constBegin(); it != m_animations.constEnd(); ++it) {
-+ EffectWindow *w = it.key();
-+
-+ if (w->isDeleted()) {
-+ w->unrefWindow();
-+ } else {
-+ w->setData(WindowForceBackgroundContrastRole, QVariant());
-+ w->setData(WindowForceBlurRole, QVariant());
-+ }
-+ }
-+
-+ m_animations.clear();
-+}
-+
- bool SlidingPopupsEffect::isActive() const
- {
- return !m_animations.isEmpty();
-diff --git a/effects/slidingpopups/slidingpopups.h b/effects/slidingpopups/slidingpopups.h
-index 821640a..32e8fb5 100644
---- a/effects/slidingpopups/slidingpopups.h
-+++ b/effects/slidingpopups/slidingpopups.h
-@@ -3,6 +3,7 @@
- This file is part of the KDE project.
-
- Copyright (C) 2009 Marco Martin notmart@gmail.com
-+Copyright (C) 2018 Vlad Zagorodniy <vladzzag@gmail.com>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
-@@ -49,8 +50,6 @@ public:
-
- static bool supported();
-
-- // TODO react also on virtual desktop changes
--
- int slideInDuration() const;
- int slideOutDuration() const;
-
-@@ -62,6 +61,7 @@ private Q_SLOTS:
-
- void slideIn(EffectWindow *w);
- void slideOut(EffectWindow *w);
-+ void stopAnimations();
-
- private:
- void setupAnimData(EffectWindow *w);
-@@ -81,7 +81,7 @@ private:
- AnimationKind kind;
- TimeLine timeLine;
- };
-- QHash<const EffectWindow*, Animation> m_animations;
-+ QHash<EffectWindow *, Animation> m_animations;
-
- enum class Location {
- Left,
---
-cgit v0.11.2
diff --git a/kde-plasma/kwin/kwin-5.14.3-r1.ebuild b/kde-plasma/kwin/kwin-5.14.3-r1.ebuild
deleted file mode 100644
index f777d457ba17..000000000000
--- a/kde-plasma/kwin/kwin-5.14.3-r1.ebuild
+++ /dev/null
@@ -1,112 +0,0 @@
-# Copyright 1999-2018 Gentoo Authors
-# 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="caps 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 '' '' '5=')
- $(add_frameworks_dep ki18n)
- $(add_frameworks_dep kiconthemes)
- $(add_frameworks_dep kidletime '' '' '5=')
- $(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 ktextwidgets)
- $(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 qtdbus)
- $(add_qt_dep qtdeclarative)
- $(add_qt_dep qtgui 'gles2=' '' '5=')
- $(add_qt_dep qtscript)
- $(add_qt_dep qtsensors)
- $(add_qt_dep qtwidgets)
- $(add_qt_dep qtx11extras)
- >=dev-libs/libinput-1.9
- >=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
- x11-libs/xcb-util-wm
- caps? ( sys-libs/libcap )
-"
-RDEPEND="${COMMON_DEPEND}
- $(add_qt_dep qtquickcontrols)
- $(add_qt_dep qtquickcontrols2)
- $(add_qt_dep qtvirtualkeyboard)
- multimedia? ( $(add_qt_dep qtmultimedia 'gstreamer,qml') )
- !kde-plasma/kwin:4
- !kde-plasma/systemsettings:4
-"
-DEPEND="${COMMON_DEPEND}
- $(add_qt_dep designer)
- $(add_qt_dep qtconcurrent)
- x11-base/xorg-proto
-"
-PDEPEND="
- $(add_plasma_dep kde-cli-tools)
-"
-
-RESTRICT+=" test"
-
-PATCHES=(
- "${FILESDIR}/${P}-virtualdesktop-crash.patch"
- "${FILESDIR}/${P}-resizewindows-crash.patch"
- "${FILESDIR}/${P}-kcrash-init.patch"
-)
-
-src_prepare() {
- kde5_src_prepare
- use multimedia || eapply "${FILESDIR}/${PN}-gstreamer-optional.patch"
-
- # Access violations, bug #640432
- sed -e "s/^ecm_find_qmlmodule.*QtMultimedia/#&/" \
- -i CMakeLists.txt || die
-}
-
-src_configure() {
- local mycmakeargs=(
- $(cmake-utils_use_find_package caps Libcap)
- )
-
- kde5_src_configure
-}