Hello community,
here is the log from the commit of package kwayland-integration for
openSUSE:Factory checked in at 2020-10-13 15:28:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kwayland-integration (Old)
and /work/SRC/openSUSE:Factory/.kwayland-integration.new.3486 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kwayland-integration"
Tue Oct 13 15:28:55 2020 rev:90 rq:840990 version:5.20.0
Changes:
--------
---
/work/SRC/openSUSE:Factory/kwayland-integration/kwayland-integration.changes
2020-09-04 11:07:25.302889303 +0200
+++
/work/SRC/openSUSE:Factory/.kwayland-integration.new.3486/kwayland-integration.changes
2020-10-13 15:29:05.268853540 +0200
@@ -1,0 +2,22 @@
+Thu Oct 8 16:55:21 UTC 2020 - Fabian Vogt <[email protected]>
+
+- Update to 5.20.0
+ * New bugfix release
+ * For more details please see:
+ * https://kde.org/announcements/plasma-5.20.0
+- Changes since 5.19.90:
+ * Fix shadowless context menus
+
+-------------------------------------------------------------------
+Thu Sep 17 20:03:01 UTC 2020 - Fabian Vogt <[email protected]>
+
+- Update to 5.19.90
+ * New bugfix release
+ * For more details please see:
+ * https://kde.org/announcements/plasma-5.19.90
+- Changes since 5.19.5:
+ * Remove explicit ECM_KDE_MODULE_DIR
+ * Require C++17
+ * windowsystem: Adjust installation path
+
+-------------------------------------------------------------------
Old:
----
kwayland-integration-5.19.5.tar.xz
kwayland-integration-5.19.5.tar.xz.sig
New:
----
kwayland-integration-5.20.0.tar.xz
kwayland-integration-5.20.0.tar.xz.sig
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kwayland-integration.spec ++++++
--- /var/tmp/diff_new_pack.tcRrtS/_old 2020-10-13 15:29:06.580854098 +0200
+++ /var/tmp/diff_new_pack.tcRrtS/_new 2020-10-13 15:29:06.584854099 +0200
@@ -18,7 +18,7 @@
%bcond_without lang
Name: kwayland-integration
-Version: 5.19.5
+Version: 5.20.0
Release: 0
# Full Plasma 5 version (e.g. 5.8.95)
%{!?_plasma5_bugfix: %define _plasma5_bugfix %{version}}
@@ -28,9 +28,9 @@
License: LGPL-2.1-or-later
Group: Development/Libraries/KDE
URL: http://www.kde.org
-Source:
https://download.kde.org/stable/plasma/%{version}/kwayland-integration-%{version}.tar.xz
+Source: kwayland-integration-%{version}.tar.xz
%if %{with lang}
-Source1:
https://download.kde.org/stable/plasma/%{version}/kwayland-integration-%{version}.tar.xz.sig
+Source1: kwayland-integration-%{version}.tar.xz.sig
Source2: plasma.keyring
%endif
BuildRequires: cmake >= 2.8.12
++++++ kwayland-integration-5.19.5.tar.xz -> kwayland-integration-5.20.0.tar.xz
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/kwayland-integration-5.19.5/.arcconfig
new/kwayland-integration-5.20.0/.arcconfig
--- old/kwayland-integration-5.19.5/.arcconfig 2020-09-01 12:30:47.000000000
+0200
+++ new/kwayland-integration-5.20.0/.arcconfig 1970-01-01 01:00:00.000000000
+0100
@@ -1,4 +0,0 @@
-{
- "phabricator.uri" : "https://phabricator.kde.org/"
-}
-
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/kwayland-integration-5.19.5/CMakeLists.txt
new/kwayland-integration-5.20.0/CMakeLists.txt
--- old/kwayland-integration-5.19.5/CMakeLists.txt 2020-09-01
12:30:47.000000000 +0200
+++ new/kwayland-integration-5.20.0/CMakeLists.txt 2020-10-08
18:15:38.000000000 +0200
@@ -1,17 +1,20 @@
project(kwayland-integration)
-set(PROJECT_VERSION "5.19.5")
+set(PROJECT_VERSION "5.20.0")
set(PROJECT_VERSION_MAJOR 5)
cmake_minimum_required(VERSION 2.8.12 FATAL_ERROR)
-set(QT_MIN_VERSION "5.14.0")
-set(KF5_MIN_VERSION "5.64.0")
+set(QT_MIN_VERSION "5.15.0")
+set(KF5_MIN_VERSION "5.74")
+
+set(CMAKE_CXX_STANDARD 17)
+set(CMAKE_CXX_STANDARD_REQUIRED ON)
find_package(ECM ${KF5_MIN_VERSION} REQUIRED NO_MODULE)
include(FeatureSummary)
# where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/ is
checked
-set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH}
${ECM_KDE_MODULE_DIR})
+set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH} )
find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/kwayland-integration-5.19.5/src/windowsystem/CMakeLists.txt
new/kwayland-integration-5.20.0/src/windowsystem/CMakeLists.txt
--- old/kwayland-integration-5.19.5/src/windowsystem/CMakeLists.txt
2020-09-01 12:30:47.000000000 +0200
+++ new/kwayland-integration-5.20.0/src/windowsystem/CMakeLists.txt
2020-10-08 18:15:38.000000000 +0200
@@ -21,7 +21,7 @@
TARGETS
KF5WindowSystemKWaylandPlugin
DESTINATION
- ${PLUGIN_INSTALL_DIR}/kf5/org.kde.kwindowsystem.platforms/
+ ${PLUGIN_INSTALL_DIR}/kf5/kwindowsystem/
)
install(FILES kwindowsystem.kwayland.categories DESTINATION
${KDE_INSTALL_LOGGINGCATEGORIESDIR})
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/kwayland-integration-5.19.5/src/windowsystem/windowshadow.cpp
new/kwayland-integration-5.20.0/src/windowsystem/windowshadow.cpp
--- old/kwayland-integration-5.19.5/src/windowsystem/windowshadow.cpp
2020-09-01 12:30:47.000000000 +0200
+++ new/kwayland-integration-5.20.0/src/windowsystem/windowshadow.cpp
2020-10-08 18:15:38.000000000 +0200
@@ -19,11 +19,15 @@
*/
#include "windowshadow.h"
+#include "logging.h"
#include "waylandintegration.h"
#include <KWayland/Client/shm_pool.h>
#include <KWayland/Client/surface.h>
+#include <QDebug>
+#include <QExposeEvent>
+
bool WindowShadowTile::create()
{
KWayland::Client::ShmPool *shmPool =
WaylandIntegration::self()->waylandShmPool();
@@ -54,8 +58,27 @@
return d->buffer;
}
-bool WindowShadow::create()
+bool WindowShadow::eventFilter(QObject *watched, QEvent *event)
{
+ Q_UNUSED(watched)
+ if (event->type() == QEvent::Expose) {
+ QExposeEvent *exposeEvent = static_cast<QExposeEvent *>(event);
+ if (!exposeEvent->region().isNull()) {
+ if (!internalCreate()) {
+ qCWarning(KWAYLAND_KWS) << "Failed to recreate shadow for" <<
window;
+ }
+ }
+ } else if (event->type() == QEvent::Hide) {
+ internalDestroy();
+ }
+ return false;
+}
+
+bool WindowShadow::internalCreate()
+{
+ if (shadow) {
+ return true;
+ }
KWayland::Client::ShadowManager *shadowManager =
WaylandIntegration::self()->waylandShadowManager();
if (!shadowManager) {
return false;
@@ -83,20 +106,28 @@
return true;
}
-void WindowShadow::destroy()
+bool WindowShadow::create()
{
- if (!shadow) {
- return;
+ if (!internalCreate()) {
+ return false;
}
- KWayland::Client::ShadowManager *shadowManager =
WaylandIntegration::self()->waylandShadowManager();
- if (!shadowManager) {
- return;
+ window->installEventFilter(this);
+ return true;
+}
+
+void WindowShadow::internalDestroy()
+{
+ delete shadow;
+ shadow = nullptr;
+ if (window) {
+ window->requestUpdate();
}
- KWayland::Client::Surface *surface =
KWayland::Client::Surface::fromWindow(window);
- if (!surface) {
- return;
+}
+
+void WindowShadow::destroy()
+{
+ if (window) {
+ window->removeEventFilter(this);
}
- shadowManager->removeShadow(surface);
- shadow = nullptr;
- window->requestUpdate();
+ internalDestroy();
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/kwayland-integration-5.19.5/src/windowsystem/windowshadow.h
new/kwayland-integration-5.20.0/src/windowsystem/windowshadow.h
--- old/kwayland-integration-5.19.5/src/windowsystem/windowshadow.h
2020-09-01 12:30:47.000000000 +0200
+++ new/kwayland-integration-5.20.0/src/windowsystem/windowshadow.h
2020-10-08 18:15:38.000000000 +0200
@@ -36,12 +36,19 @@
KWayland::Client::Buffer::Ptr buffer;
};
-class WindowShadow final : public KWindowShadowPrivate
+class WindowShadow final : public QObject, public KWindowShadowPrivate
{
public:
bool create() override;
void destroy() override;
+protected:
+ bool eventFilter(QObject *watched, QEvent *event) override;
+
+private:
+ bool internalCreate();
+ void internalDestroy();
+
QPointer<KWayland::Client::Shadow> shadow;
};