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;
 };
 



Reply via email to