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 <fab...@ritter-vogt.de> + +- 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 <fab...@ritter-vogt.de> + +- 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; };