Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package kwayland-integration for 
openSUSE:Factory checked in at 2022-02-07 23:37:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kwayland-integration (Old)
 and      /work/SRC/openSUSE:Factory/.kwayland-integration.new.1898 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kwayland-integration"

Mon Feb  7 23:37:01 2022 rev:114 rq:951880 version:5.24.0

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/kwayland-integration/kwayland-integration.changes    
    2022-01-11 21:14:17.156748504 +0100
+++ 
/work/SRC/openSUSE:Factory/.kwayland-integration.new.1898/kwayland-integration.changes
      2022-02-07 23:37:15.162783958 +0100
@@ -1,0 +2,25 @@
+Sat Feb  5 19:50:57 UTC 2022 - Fabian Vogt <fab...@ritter-vogt.de>
+
+- Update to 5.24.0
+  * New bugfix release
+  * For more details please see:
+  * https://kde.org/announcements/plasma/5/5.24.0
+- Changes since 5.23.90:
+  * Prevent double deletion of shmpools (kde#443706)
+
+-------------------------------------------------------------------
+Thu Jan 13 20:30:13 UTC 2022 - Fabian Vogt <fab...@ritter-vogt.de>
+
+- Update to 5.23.90
+  * New feature release
+  * For more details please see:
+  * https://kde.org/announcements/plasma/5/5.23.90
+- Changes since 5.23.5:
+  * logging.cpp is autogenerated
+  * Handle dynamic effect global changes
+  * Add FreeBSD CI
+  * Add Linux CI
+  * Add .kde-ci.yml
+  * fix: Kicker's sub-menus are covered up by Plasma panels (kde#378694)
+
+-------------------------------------------------------------------

Old:
----
  kwayland-integration-5.23.5.tar.xz
  kwayland-integration-5.23.5.tar.xz.sig

New:
----
  kwayland-integration-5.24.0.tar.xz
  kwayland-integration-5.24.0.tar.xz.sig

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ kwayland-integration.spec ++++++
--- /var/tmp/diff_new_pack.N187Lj/_old  2022-02-07 23:37:15.778779812 +0100
+++ /var/tmp/diff_new_pack.N187Lj/_new  2022-02-07 23:37:15.782779785 +0100
@@ -16,9 +16,9 @@
 #
 
 
-%bcond_without lang
+%bcond_without released
 Name:           kwayland-integration
-Version:        5.23.5
+Version:        5.24.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
-%if %{with lang}
-Source1:        
https://download.kde.org/stable/plasma/%{version}/kwayland-integration-%{version}.tar.xz.sig
+Source:         kwayland-integration-%{version}.tar.xz
+%if %{with released}
+Source1:        kwayland-integration-%{version}.tar.xz.sig
 Source2:        plasma.keyring
 %endif
 BuildRequires:  cmake >= 3.16

++++++ kwayland-integration-5.23.5.tar.xz -> kwayland-integration-5.24.0.tar.xz 
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kwayland-integration-5.23.5/.gitlab-ci.yml 
new/kwayland-integration-5.24.0/.gitlab-ci.yml
--- old/kwayland-integration-5.23.5/.gitlab-ci.yml      1970-01-01 
01:00:00.000000000 +0100
+++ new/kwayland-integration-5.24.0/.gitlab-ci.yml      2022-02-03 
15:33:38.000000000 +0100
@@ -0,0 +1,6 @@
+# SPDX-FileCopyrightText: None
+# SPDX-License-Identifier: CC0-1.0
+
+include:
+  - 
https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/linux.yml
+  - 
https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/freebsd.yml
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kwayland-integration-5.23.5/.kde-ci.yml 
new/kwayland-integration-5.24.0/.kde-ci.yml
--- old/kwayland-integration-5.23.5/.kde-ci.yml 1970-01-01 01:00:00.000000000 
+0100
+++ new/kwayland-integration-5.24.0/.kde-ci.yml 2022-02-03 15:33:38.000000000 
+0100
@@ -0,0 +1,11 @@
+# SPDX-FileCopyrightText: None
+# SPDX-License-Identifier: CC0-1.0
+
+Dependencies:
+- 'on': ['@all']
+  'require':
+    'frameworks/extra-cmake-modules': '@latest'
+    'frameworks/kguiaddons': '@latest'
+    'frameworks/kidletime': '@latest'
+    'frameworks/kwayland': '@latest'
+    'frameworks/kwindowsystem': '@latest'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kwayland-integration-5.23.5/CMakeLists.txt 
new/kwayland-integration-5.24.0/CMakeLists.txt
--- old/kwayland-integration-5.23.5/CMakeLists.txt      2022-01-04 
09:58:00.000000000 +0100
+++ new/kwayland-integration-5.24.0/CMakeLists.txt      2022-02-03 
15:33:38.000000000 +0100
@@ -2,7 +2,7 @@
 
 set(CMAKE_C_STANDARD 99)
 
-set(PROJECT_VERSION "5.23.5")
+set(PROJECT_VERSION "5.24.0")
 set(PROJECT_VERSION_MAJOR 5)
 
 cmake_minimum_required(VERSION 3.16)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kwayland-integration-5.23.5/src/idletime/CMakeLists.txt 
new/kwayland-integration-5.24.0/src/idletime/CMakeLists.txt
--- old/kwayland-integration-5.23.5/src/idletime/CMakeLists.txt 2022-01-04 
09:58:00.000000000 +0100
+++ new/kwayland-integration-5.24.0/src/idletime/CMakeLists.txt 2022-02-03 
15:33:38.000000000 +0100
@@ -1,5 +1,6 @@
 set(idletime_plugin_SRCS
     poller.cpp
+    poller.h
 )
 
 add_library(KF5IdleTimeKWaylandPlugin MODULE ${idletime_plugin_SRCS})
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kwayland-integration-5.23.5/src/kmodifierkeyinfoprovider/CMakeLists.txt 
new/kwayland-integration-5.24.0/src/kmodifierkeyinfoprovider/CMakeLists.txt
--- old/kwayland-integration-5.23.5/src/kmodifierkeyinfoprovider/CMakeLists.txt 
2022-01-04 09:58:00.000000000 +0100
+++ new/kwayland-integration-5.24.0/src/kmodifierkeyinfoprovider/CMakeLists.txt 
2022-02-03 15:33:38.000000000 +0100
@@ -1,3 +1,3 @@
-add_library(kmodifierkey_wayland MODULE kmodifierkeyinfoprovider_wayland.cpp)
+add_library(kmodifierkey_wayland MODULE kmodifierkeyinfoprovider_wayland.cpp 
kmodifierkeyinfoprovider_wayland.h)
 target_link_libraries(kmodifierkey_wayland PRIVATE KF5::WaylandClient 
KF5::GuiAddons)
 install(TARGETS kmodifierkey_wayland DESTINATION 
${KDE_INSTALL_PLUGINDIR}/kf5/kguiaddons/kmodifierkey/)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kwayland-integration-5.23.5/src/windowsystem/CMakeLists.txt 
new/kwayland-integration-5.24.0/src/windowsystem/CMakeLists.txt
--- old/kwayland-integration-5.23.5/src/windowsystem/CMakeLists.txt     
2022-01-04 09:58:00.000000000 +0100
+++ new/kwayland-integration-5.24.0/src/windowsystem/CMakeLists.txt     
2022-02-03 15:33:38.000000000 +0100
@@ -1,5 +1,4 @@
 set(wayland_plugin_SRCS
-    logging.cpp
     plugin.cpp
     waylandintegration.cpp
     windoweffects.cpp
@@ -7,6 +6,13 @@
     windowshadow.cpp
     windowsystem.cpp
     waylandxdgactivationv1.cpp
+    plugin.h
+    waylandintegration.h
+    windoweffects.h
+    windowinfo.h
+    windowshadow.h
+    windowsystem.h
+    waylandxdgactivationv1_p.h
 )
 
 ecm_add_qtwayland_client_protocol(wayland_plugin_SRCS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kwayland-integration-5.23.5/src/windowsystem/waylandintegration.cpp 
new/kwayland-integration-5.24.0/src/windowsystem/waylandintegration.cpp
--- old/kwayland-integration-5.23.5/src/windowsystem/waylandintegration.cpp     
2022-01-04 09:58:00.000000000 +0100
+++ new/kwayland-integration-5.24.0/src/windowsystem/waylandintegration.cpp     
2022-02-03 15:33:38.000000000 +0100
@@ -72,6 +72,11 @@
     return &privateWaylandIntegrationSelf()->self;
 }
 
+KWayland::Client::Registry *WaylandIntegration::registry() const
+{
+    return m_registry;
+}
+
 KWayland::Client::ConnectionThread *WaylandIntegration::waylandConnection() 
const
 {
     return m_waylandConnection;
@@ -205,7 +210,7 @@
             return nullptr;
         }
 
-        return m_registry->createShmPool(wmInterface.name, 
wmInterface.version, qApp);
+        return m_registry->createShmPool(wmInterface.name, 
wmInterface.version);
     }
 
     return nullptr;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kwayland-integration-5.23.5/src/windowsystem/waylandintegration.h 
new/kwayland-integration-5.24.0/src/windowsystem/waylandintegration.h
--- old/kwayland-integration-5.23.5/src/windowsystem/waylandintegration.h       
2022-01-04 09:58:00.000000000 +0100
+++ new/kwayland-integration-5.24.0/src/windowsystem/waylandintegration.h       
2022-02-03 15:33:38.000000000 +0100
@@ -38,6 +38,7 @@
 
     static WaylandIntegration *self();
 
+    KWayland::Client::Registry *registry() const;
     KWayland::Client::ConnectionThread *waylandConnection() const;
     KWayland::Client::BlurManager *waylandBlurManager();
     KWayland::Client::ContrastManager *waylandContrastManager();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kwayland-integration-5.23.5/src/windowsystem/windoweffects.cpp 
new/kwayland-integration-5.24.0/src/windowsystem/windoweffects.cpp
--- old/kwayland-integration-5.23.5/src/windowsystem/windoweffects.cpp  
2022-01-04 09:58:00.000000000 +0100
+++ new/kwayland-integration-5.24.0/src/windowsystem/windoweffects.cpp  
2022-02-03 15:33:38.000000000 +0100
@@ -28,6 +28,43 @@
     : QObject()
     ,  KWindowEffectsPrivateV2()
 {
+    auto registry = WaylandIntegration::self()->registry();
+
+    // The KWindowEffects API doesn't provide any signals to notify that the 
particular
+    // effect has become unavailable. So we re-install effects when the 
corresponding globals
+    // are added.
+    connect(registry, &KWayland::Client::Registry::blurAnnounced, this, 
[this]() {
+        for (auto it = m_blurRegions.constBegin(); it != 
m_blurRegions.constEnd(); ++it) {
+            installBlur(it.key(), true, *it);
+        }
+    });
+    connect(registry, &KWayland::Client::Registry::blurRemoved, this, [this]() 
{
+        for (auto it = m_blurRegions.constBegin(); it != 
m_blurRegions.constEnd(); ++it) {
+            installBlur(it.key(), false, *it);
+        }
+    });
+
+    connect(registry, &KWayland::Client::Registry::contrastAnnounced, this, 
[this]() {
+        for (auto it = m_backgroundConstrastRegions.constBegin(); it != 
m_backgroundConstrastRegions.constEnd(); ++it) {
+            installContrast(it.key(), true, it->contrast, it->intensity, 
it->saturation, it->region);
+        }
+    });
+    connect(registry, &KWayland::Client::Registry::contrastRemoved, this, 
[this]() {
+        for (auto it = m_backgroundConstrastRegions.constBegin(); it != 
m_backgroundConstrastRegions.constEnd(); ++it) {
+            installContrast(it.key(), false);
+        }
+    });
+
+    connect(registry, &KWayland::Client::Registry::slideAnnounced, this, 
[this]() {
+        for (auto it = m_slideMap.constBegin(); it != m_slideMap.constEnd(); 
++it) {
+            installSlide(it.key(), it->location, it->offset);
+        }
+    });
+    connect(registry, &KWayland::Client::Registry::slideRemoved, this, 
[this]() {
+        for (auto it = m_slideMap.constBegin(); it != m_slideMap.constEnd(); 
++it) {
+            installSlide(it.key(), KWindowEffects::SlideFromLocation::NoEdge, 
0);
+        }
+    });
 }
 
 WindowEffects::~WindowEffects()
@@ -54,6 +91,7 @@
         auto conn = connect(window, &QObject::destroyed, this, [this, 
window]() {
             m_blurRegions.remove(window);
             m_backgroundConstrastRegions.remove(window);
+            m_slideMap.remove(window);
             m_windowWatchers.remove(window);
         });
         m_windowWatchers[window] = conn;
@@ -62,7 +100,7 @@
 
 void WindowEffects::releaseWindow(QWindow *window)
 {
-    if (!m_blurRegions.contains(window) && 
!m_backgroundConstrastRegions.contains(window)) {
+    if (!m_blurRegions.contains(window) && 
!m_backgroundConstrastRegions.contains(window) && !m_slideMap.contains(window)) 
{
         disconnect(m_windowWatchers[window]);
         window->removeEventFilter(this);
         m_windowWatchers.remove(window);
@@ -86,13 +124,13 @@
         {
             auto it = m_blurRegions.constFind(window);
             if (it != m_blurRegions.constEnd()) {
-                enableBlurBehind(window, true, *it);
+                installBlur(window, true, *it);
             }
         }
         {
             auto it = m_backgroundConstrastRegions.constFind(window);
             if (it != m_backgroundConstrastRegions.constEnd()) {
-                enableBackgroundContrast(window, true, it->contrast, 
it->intensity, it->saturation, it->region);
+                installContrast(window, true, it->contrast, it->intensity, 
it->saturation, it->region);
             }
         }
     }
@@ -115,10 +153,30 @@
 
 void WindowEffects::slideWindow(WId id, KWindowEffects::SlideFromLocation 
location, int offset)
 {
+    auto window = windowForId(id);
+    if (!window) {
+        return;
+    }
+    if (location != KWindowEffects::SlideFromLocation::NoEdge) {
+        m_slideMap[window] = SlideData{
+            .location = location,
+            .offset = offset,
+        };
+        trackWindow(window);
+    } else {
+        m_slideMap.remove(window);
+        releaseWindow(window);
+    }
+
+    installSlide(window, location, offset);
+}
+
+void WindowEffects::installSlide(QWindow *window, 
KWindowEffects::SlideFromLocation location, int offset)
+{
     if (!WaylandIntegration::self()->waylandSlideManager()) {
         return;
     }
-    KWayland::Client::Surface *surface = 
KWayland::Client::Surface::fromQtWinId(id);
+    KWayland::Client::Surface *surface = 
KWayland::Client::Surface::fromWindow(window);
     if (surface) {
         if (location != KWindowEffects::SlideFromLocation::NoEdge) {
             auto slide = 
WaylandIntegration::self()->waylandSlideManager()->createSlide(surface, 
surface);
@@ -198,10 +256,10 @@
         releaseWindow(window);
     }
 
-    enableBlurBehind(window, enable, region);
+    installBlur(window, enable, region);
 }
 
-void WindowEffects::enableBlurBehind(QWindow *window, bool enable, const 
QRegion &region)
+void WindowEffects::installBlur(QWindow *window, bool enable, const QRegion 
&region)
 {
     if (!WaylandIntegration::self()->waylandBlurManager()) {
         return;
@@ -238,10 +296,10 @@
         releaseWindow(window);
     }
 
-    enableBackgroundContrast(window, enable, contrast, intensity, saturation, 
region);
+    installContrast(window, enable, contrast, intensity, saturation, region);
 }
 
-void WindowEffects::enableBackgroundContrast(QWindow *window, bool enable, 
qreal contrast, qreal intensity, qreal saturation, const QRegion &region)
+void WindowEffects::installContrast(QWindow *window, bool enable, qreal 
contrast, qreal intensity, qreal saturation, const QRegion &region)
 {
     if (!WaylandIntegration::self()->waylandContrastManager()) {
         return;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kwayland-integration-5.23.5/src/windowsystem/windoweffects.h 
new/kwayland-integration-5.24.0/src/windowsystem/windoweffects.h
--- old/kwayland-integration-5.23.5/src/windowsystem/windoweffects.h    
2022-01-04 09:58:00.000000000 +0100
+++ new/kwayland-integration-5.24.0/src/windowsystem/windoweffects.h    
2022-02-03 15:33:38.000000000 +0100
@@ -46,24 +46,21 @@
     void highlightWindows(WId controller, const QList<WId> &ids) override;
 #endif
     void enableBlurBehind(WId winId, bool enable = true, const QRegion &region 
= QRegion()) override;
-    void enableBlurBehind(QWindow *window, bool enable, const QRegion &region);
     void enableBackgroundContrast(WId winId,
                                   bool enable = true,
                                   qreal contrast = 1,
                                   qreal intensity = 1,
                                   qreal saturation = 1,
                                   const QRegion &region = QRegion()) override;
-    void enableBackgroundContrast(QWindow *window,
-                                  bool enable = true,
-                                  qreal contrast = 1,
-                                  qreal intensity = 1,
-                                  qreal saturation = 1,
-                                  const QRegion &region = QRegion());
     void setBackgroundFrost(QWindow *window, QColor color, const QRegion 
&region = QRegion()) override;
 #if KWINDOWSYSTEM_BUILD_DEPRECATED_SINCE(5, 67)
     void markAsDashboard(WId window) override;
 #endif
 private:
+    void installContrast(QWindow *window, bool enable = true, qreal contrast = 
1, qreal intensity = 1, qreal saturation = 1, const QRegion &region = 
QRegion());
+    void installBlur(QWindow *window, bool enable, const QRegion &region);
+    void installSlide(QWindow *window, KWindowEffects::SlideFromLocation 
location, int offset);
+
     QHash<QWindow *, QMetaObject::Connection> m_windowWatchers;
     QHash<QWindow *, QRegion> m_blurRegions;
     struct BackgroundContrastData {
@@ -73,6 +70,11 @@
         QRegion region;
     };
     QHash<QWindow *, BackgroundContrastData> m_backgroundConstrastRegions;
+    struct SlideData {
+        KWindowEffects::SlideFromLocation location;
+        int offset;
+    };
+    QHash<QWindow *, SlideData> m_slideMap;
 };
 
 #endif

Reply via email to