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-10-11 18:01:00
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kwayland-integration (Old)
 and      /work/SRC/openSUSE:Factory/.kwayland-integration.new.2275 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kwayland-integration"

Tue Oct 11 18:01:00 2022 rev:126 rq:1009110 version:5.26.0

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/kwayland-integration/kwayland-integration.changes    
    2022-09-08 14:20:51.686262343 +0200
+++ 
/work/SRC/openSUSE:Factory/.kwayland-integration.new.2275/kwayland-integration.changes
      2022-10-11 18:03:19.473868972 +0200
@@ -1,0 +2,26 @@
+Thu Oct  6 14:48:42 UTC 2022 - Fabian Vogt <fab...@ritter-vogt.de>
+
+- Update to 5.26.0
+  * New bugfix release
+  * For more details please see:
+  * https://kde.org/announcements/plasma/5/5.26.0
+- Changes since 5.25.90:
+  * Fix shadow removal (kde#455270)
+
+-------------------------------------------------------------------
+Thu Sep 15 20:46:39 UTC 2022 - Fabian Vogt <fab...@ritter-vogt.de>
+
+- Update to 5.25.90
+  * New feature release
+  * For more details please see:
+  * https://kde.org/announcements/plasma/5/5.25.90
+- Changes since 5.25.5:
+  * Add FreeBSD Qt6 CI support
+  * Add missing license file
+  * Fix blur/contrast region not getting updated (kde#456442)
+  * Fix leaking blur/contrast/region object
+  * Don't crash on a null QWindow (kde#454341)
+  * Avoid creating unneeded KWayland::Surface
+  * Remove KGuiAddons dependency
+
+-------------------------------------------------------------------

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

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

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

Other differences:
------------------
++++++ kwayland-integration.spec ++++++
--- /var/tmp/diff_new_pack.6QjX85/_old  2022-10-11 18:03:19.993869813 +0200
+++ /var/tmp/diff_new_pack.6QjX85/_new  2022-10-11 18:03:19.997869819 +0200
@@ -18,7 +18,7 @@
 
 %bcond_without released
 Name:           kwayland-integration
-Version:        5.25.5
+Version:        5.26.0
 Release:        0
 # Full Plasma 5 version (e.g. 5.8.95)
 %{!?_plasma5_bugfix: %define _plasma5_bugfix %{version}}
@@ -28,23 +28,23 @@
 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 released}
-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 >= 3.16
-BuildRequires:  extra-cmake-modules >= 0.0.11
+BuildRequires:  extra-cmake-modules >= 5.98.0
 BuildRequires:  kf5-filesystem
 BuildRequires:  libQt5PlatformSupport-private-headers-devel
 BuildRequires:  libqt5-qtwayland-private-headers-devel
 BuildRequires:  pkgconfig
-BuildRequires:  cmake(KF5GuiAddons) >= 5.60.0
-BuildRequires:  cmake(KF5IdleTime) >= 5.24.0
-BuildRequires:  cmake(KF5Wayland) >= 5.24.0
-BuildRequires:  cmake(KF5WindowSystem) >= 5.24.0
-BuildRequires:  cmake(Qt5Core) >= 5.4.0
-BuildRequires:  cmake(Qt5Test) >= 5.4.0
+BuildRequires:  cmake(KF5GuiAddons)
+BuildRequires:  cmake(KF5IdleTime)
+BuildRequires:  cmake(KF5Wayland)
+BuildRequires:  cmake(KF5WindowSystem)
+BuildRequires:  cmake(Qt5Core) >= 5.15.0
+BuildRequires:  cmake(Qt5Test)
 BuildRequires:  cmake(Qt5WaylandClient)
 BuildRequires:  cmake(Qt5XkbCommonSupport)
 BuildRequires:  pkgconfig(wayland-protocols)

++++++ kwayland-integration-5.25.5.tar.xz -> kwayland-integration-5.26.0.tar.xz 
++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kwayland-integration-5.25.5/.gitlab-ci.yml 
new/kwayland-integration-5.26.0/.gitlab-ci.yml
--- old/kwayland-integration-5.25.5/.gitlab-ci.yml      2022-09-06 
14:19:34.000000000 +0200
+++ new/kwayland-integration-5.26.0/.gitlab-ci.yml      2022-10-06 
14:21:30.000000000 +0200
@@ -5,3 +5,4 @@
   - 
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
   - 
https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/linux-qt6.yml
+  - 
https://invent.kde.org/sysadmin/ci-utilities/raw/master/gitlab-templates/freebsd-qt6.yml
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kwayland-integration-5.25.5/CMakeLists.txt 
new/kwayland-integration-5.26.0/CMakeLists.txt
--- old/kwayland-integration-5.25.5/CMakeLists.txt      2022-09-06 
14:19:34.000000000 +0200
+++ new/kwayland-integration-5.26.0/CMakeLists.txt      2022-10-06 
14:21:30.000000000 +0200
@@ -2,12 +2,12 @@
 
 set(CMAKE_C_STANDARD 99)
 
-set(PROJECT_VERSION "5.25.5")
+set(PROJECT_VERSION "5.26.0")
 set(PROJECT_VERSION_MAJOR 5)
 
 cmake_minimum_required(VERSION 3.16)
 set(QT_MIN_VERSION "5.15.2")
-set(KF5_MIN_VERSION "5.94")
+set(KF5_MIN_VERSION "5.98.0")
 set(KDE_COMPILERSETTINGS_LEVEL "5.82")
 
 set(CMAKE_CXX_STANDARD 17)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kwayland-integration-5.25.5/LICENSES/CC0-1.0.txt 
new/kwayland-integration-5.26.0/LICENSES/CC0-1.0.txt
--- old/kwayland-integration-5.25.5/LICENSES/CC0-1.0.txt        1970-01-01 
01:00:00.000000000 +0100
+++ new/kwayland-integration-5.26.0/LICENSES/CC0-1.0.txt        2022-10-06 
14:21:30.000000000 +0200
@@ -0,0 +1,121 @@
+Creative Commons Legal Code
+
+CC0 1.0 Universal
+
+    CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
+    LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
+    ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
+    INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
+    REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS
+    PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
+    THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED
+    HEREUNDER.
+
+Statement of Purpose
+
+The laws of most jurisdictions throughout the world automatically confer
+exclusive Copyright and Related Rights (defined below) upon the creator
+and subsequent owner(s) (each and all, an "owner") of an original work of
+authorship and/or a database (each, a "Work").
+
+Certain owners wish to permanently relinquish those rights to a Work for
+the purpose of contributing to a commons of creative, cultural and
+scientific works ("Commons") that the public can reliably and without fear
+of later claims of infringement build upon, modify, incorporate in other
+works, reuse and redistribute as freely as possible in any form whatsoever
+and for any purposes, including without limitation commercial purposes.
+These owners may contribute to the Commons to promote the ideal of a free
+culture and the further production of creative, cultural and scientific
+works, or to gain reputation or greater distribution for their Work in
+part through the use and efforts of others.
+
+For these and/or other purposes and motivations, and without any
+expectation of additional consideration or compensation, the person
+associating CC0 with a Work (the "Affirmer"), to the extent that he or she
+is an owner of Copyright and Related Rights in the Work, voluntarily
+elects to apply CC0 to the Work and publicly distribute the Work under its
+terms, with knowledge of his or her Copyright and Related Rights in the
+Work and the meaning and intended legal effect of CC0 on those rights.
+
+1. Copyright and Related Rights. A Work made available under CC0 may be
+protected by copyright and related or neighboring rights ("Copyright and
+Related Rights"). Copyright and Related Rights include, but are not
+limited to, the following:
+
+  i. the right to reproduce, adapt, distribute, perform, display,
+     communicate, and translate a Work;
+ ii. moral rights retained by the original author(s) and/or performer(s);
+iii. publicity and privacy rights pertaining to a person's image or
+     likeness depicted in a Work;
+ iv. rights protecting against unfair competition in regards to a Work,
+     subject to the limitations in paragraph 4(a), below;
+  v. rights protecting the extraction, dissemination, use and reuse of data
+     in a Work;
+ vi. database rights (such as those arising under Directive 96/9/EC of the
+     European Parliament and of the Council of 11 March 1996 on the legal
+     protection of databases, and under any national implementation
+     thereof, including any amended or successor version of such
+     directive); and
+vii. other similar, equivalent or corresponding rights throughout the
+     world based on applicable law or treaty, and any national
+     implementations thereof.
+
+2. Waiver. To the greatest extent permitted by, but not in contravention
+of, applicable law, Affirmer hereby overtly, fully, permanently,
+irrevocably and unconditionally waives, abandons, and surrenders all of
+Affirmer's Copyright and Related Rights and associated claims and causes
+of action, whether now known or unknown (including existing as well as
+future claims and causes of action), in the Work (i) in all territories
+worldwide, (ii) for the maximum duration provided by applicable law or
+treaty (including future time extensions), (iii) in any current or future
+medium and for any number of copies, and (iv) for any purpose whatsoever,
+including without limitation commercial, advertising or promotional
+purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
+member of the public at large and to the detriment of Affirmer's heirs and
+successors, fully intending that such Waiver shall not be subject to
+revocation, rescission, cancellation, termination, or any other legal or
+equitable action to disrupt the quiet enjoyment of the Work by the public
+as contemplated by Affirmer's express Statement of Purpose.
+
+3. Public License Fallback. Should any part of the Waiver for any reason
+be judged legally invalid or ineffective under applicable law, then the
+Waiver shall be preserved to the maximum extent permitted taking into
+account Affirmer's express Statement of Purpose. In addition, to the
+extent the Waiver is so judged Affirmer hereby grants to each affected
+person a royalty-free, non transferable, non sublicensable, non exclusive,
+irrevocable and unconditional license to exercise Affirmer's Copyright and
+Related Rights in the Work (i) in all territories worldwide, (ii) for the
+maximum duration provided by applicable law or treaty (including future
+time extensions), (iii) in any current or future medium and for any number
+of copies, and (iv) for any purpose whatsoever, including without
+limitation commercial, advertising or promotional purposes (the
+"License"). The License shall be deemed effective as of the date CC0 was
+applied by Affirmer to the Work. Should any part of the License for any
+reason be judged legally invalid or ineffective under applicable law, such
+partial invalidity or ineffectiveness shall not invalidate the remainder
+of the License, and in such case Affirmer hereby affirms that he or she
+will not (i) exercise any of his or her remaining Copyright and Related
+Rights in the Work or (ii) assert any associated claims and causes of
+action with respect to the Work, in either case contrary to Affirmer's
+express Statement of Purpose.
+
+4. Limitations and Disclaimers.
+
+ a. No trademark or patent rights held by Affirmer are waived, abandoned,
+    surrendered, licensed or otherwise affected by this document.
+ b. Affirmer offers the Work as-is and makes no representations or
+    warranties of any kind concerning the Work, express, implied,
+    statutory or otherwise, including without limitation warranties of
+    title, merchantability, fitness for a particular purpose, non
+    infringement, or the absence of latent or other defects, accuracy, or
+    the present or absence of errors, whether or not discoverable, all to
+    the greatest extent permissible under applicable law.
+ c. Affirmer disclaims responsibility for clearing rights of other persons
+    that may apply to the Work or any use thereof, including without
+    limitation any person's Copyright and Related Rights in the Work.
+    Further, Affirmer disclaims responsibility for obtaining any necessary
+    consents, permissions or other rights required for any use of the
+    Work.
+ d. Affirmer understands and acknowledges that Creative Commons is not a
+    party to this document and has no duty or obligation with respect to
+    this CC0 or use of the Work.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kwayland-integration-5.25.5/src/windowsystem/windoweffects.cpp 
new/kwayland-integration-5.26.0/src/windowsystem/windoweffects.cpp
--- old/kwayland-integration-5.25.5/src/windowsystem/windoweffects.cpp  
2022-09-06 14:19:34.000000000 +0200
+++ new/kwayland-integration-5.26.0/src/windowsystem/windoweffects.cpp  
2022-10-06 14:21:30.000000000 +0200
@@ -23,6 +23,7 @@
 #include <KWayland/Client/registry.h>
 #include <KWayland/Client/slide.h>
 #include <KWayland/Client/surface.h>
+#include <private/qwaylandwindow_p.h>
 
 WindowEffects::WindowEffects()
     : QObject()
@@ -89,24 +90,58 @@
     if (!m_windowWatchers.contains(window)) {
         window->installEventFilter(this);
         auto conn = connect(window, &QObject::destroyed, this, [this, 
window]() {
+            resetBlur(window);
             m_blurRegions.remove(window);
+            resetContrast(window);
             m_backgroundConstrastRegions.remove(window);
             m_slideMap.remove(window);
             m_windowWatchers.remove(window);
         });
-        m_windowWatchers[window] = conn;
+        m_windowWatchers[window] << conn;
+        auto waylandWindow = dynamic_cast<QtWaylandClient::QWaylandWindow 
*>(window->handle());
+        if (waylandWindow) {
+            auto conn = connect(waylandWindow, 
&QtWaylandClient::QWaylandWindow::wlSurfaceDestroyed, this, [this, window]() {
+                resetBlur(window);
+                resetContrast(window);
+            });
+            m_windowWatchers[window] << conn;
+        }
     }
 }
 
 void WindowEffects::releaseWindow(QWindow *window)
 {
     if (!m_blurRegions.contains(window) && 
!m_backgroundConstrastRegions.contains(window) && !m_slideMap.contains(window)) 
{
-        disconnect(m_windowWatchers[window]);
+        for (const auto &conn : m_windowWatchers[window]) {
+            disconnect(conn);
+        }
         window->removeEventFilter(this);
         m_windowWatchers.remove(window);
     }
 }
 
+// Helper function to replace a QObject value in the map and delete the old 
one.
+template<typename MapType>
+void replaceValue(MapType &map, typename MapType::key_type key, typename 
MapType::mapped_type value)
+{
+    if (auto oldValue = map.take(key)) {
+        oldValue->deleteLater();
+    }
+    if (value) {
+        map[key] = value;
+    }
+}
+
+void WindowEffects::resetBlur(QWindow *window, KWayland::Client::Blur *blur)
+{
+    replaceValue(m_blurs, window, blur);
+}
+
+void WindowEffects::resetContrast(QWindow *window, KWayland::Client::Contrast 
*contrast)
+{
+    replaceValue(m_contrasts, window, contrast);
+}
+
 bool WindowEffects::eventFilter(QObject *watched, QEvent *event)
 {
     if (event->type() == QEvent::Expose) {
@@ -252,6 +287,7 @@
         trackWindow(window);
         m_blurRegions[window] = region;
     } else {
+        resetBlur(window);
         m_blurRegions.remove(window);
         releaseWindow(window);
     }
@@ -269,9 +305,12 @@
     if (surface) {
         if (enable) {
             auto blur = 
WaylandIntegration::self()->waylandBlurManager()->createBlur(surface, surface);
-            
blur->setRegion(WaylandIntegration::self()->waylandCompositor()->createRegion(region,
 nullptr));
+            std::unique_ptr<KWayland::Client::Region> 
wlRegion(WaylandIntegration::self()->waylandCompositor()->createRegion(region, 
nullptr));
+            blur->setRegion(wlRegion.get());
             blur->commit();
+            resetBlur(window, blur);
         } else {
+            resetBlur(window);
             
WaylandIntegration::self()->waylandBlurManager()->removeBlur(surface);
         }
 
@@ -292,6 +331,7 @@
         m_backgroundConstrastRegions[window].saturation = saturation;
         m_backgroundConstrastRegions[window].region = region;
     } else {
+        resetContrast(window);
         m_backgroundConstrastRegions.remove(window);
         releaseWindow(window);
     }
@@ -308,12 +348,15 @@
     if (surface) {
         if (enable) {
             auto backgroundContrast = 
WaylandIntegration::self()->waylandContrastManager()->createContrast(surface, 
surface);
-            
backgroundContrast->setRegion(WaylandIntegration::self()->waylandCompositor()->createRegion(region,
 nullptr));
+            std::unique_ptr<KWayland::Client::Region> 
wlRegion(WaylandIntegration::self()->waylandCompositor()->createRegion(region, 
nullptr));
+            backgroundContrast->setRegion(wlRegion.get());
             backgroundContrast->setContrast(contrast);
             backgroundContrast->setIntensity(intensity);
             backgroundContrast->setSaturation(saturation);
             backgroundContrast->commit();
+            resetContrast(window, backgroundContrast);
         } else {
+            resetContrast(window);
             
WaylandIntegration::self()->waylandContrastManager()->removeContrast(surface);
         }
 
@@ -332,14 +375,17 @@
         return;
     }
     if (!color.isValid()) {
+        resetContrast(window);
         
WaylandIntegration::self()->waylandContrastManager()->removeContrast(surface);
         return;
     }
 
     auto backgroundContrast = 
WaylandIntegration::self()->waylandContrastManager()->createContrast(surface, 
surface);
-    
backgroundContrast->setRegion(WaylandIntegration::self()->waylandCompositor()->createRegion(region,
 nullptr));
+    std::unique_ptr<KWayland::Client::Region> 
wlRegion(WaylandIntegration::self()->waylandCompositor()->createRegion(region, 
nullptr));
+    backgroundContrast->setRegion(wlRegion.get());
     backgroundContrast->setFrost(color);
     backgroundContrast->commit();
+    resetContrast(window, backgroundContrast);
 
     WaylandIntegration::self()->waylandConnection()->flush();
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kwayland-integration-5.25.5/src/windowsystem/windoweffects.h 
new/kwayland-integration-5.26.0/src/windowsystem/windoweffects.h
--- old/kwayland-integration-5.25.5/src/windowsystem/windoweffects.h    
2022-09-06 14:19:34.000000000 +0200
+++ new/kwayland-integration-5.26.0/src/windowsystem/windoweffects.h    
2022-10-06 14:21:30.000000000 +0200
@@ -11,6 +11,7 @@
 
 #include <QHash>
 #include <QObject>
+#include <QPointer>
 
 namespace KWayland
 {
@@ -20,6 +21,8 @@
 class ContrastManager;
 class Compositor;
 class ConnectionThread;
+class Blur;
+class Contrast;
 }
 }
 
@@ -62,7 +65,10 @@
     void installBlur(QWindow *window, bool enable, const QRegion &region);
     void installSlide(QWindow *window, KWindowEffects::SlideFromLocation 
location, int offset);
 
-    QHash<QWindow *, QMetaObject::Connection> m_windowWatchers;
+    void resetBlur(QWindow *window, KWayland::Client::Blur *blur = nullptr);
+    void resetContrast(QWindow *window, KWayland::Client::Contrast *contrast = 
nullptr);
+
+    QHash<QWindow *, QList<QMetaObject::Connection>> m_windowWatchers;
     QHash<QWindow *, QRegion> m_blurRegions;
     struct BackgroundContrastData {
         qreal contrast = 1;
@@ -71,6 +77,8 @@
         QRegion region;
     };
     QHash<QWindow *, BackgroundContrastData> m_backgroundConstrastRegions;
+    QHash<QWindow *, QPointer<KWayland::Client::Blur>> m_blurs;
+    QHash<QWindow *, QPointer<KWayland::Client::Contrast>> m_contrasts;
     struct SlideData {
         KWindowEffects::SlideFromLocation location;
         int offset;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kwayland-integration-5.25.5/src/windowsystem/windowshadow.cpp 
new/kwayland-integration-5.26.0/src/windowsystem/windowshadow.cpp
--- old/kwayland-integration-5.25.5/src/windowsystem/windowshadow.cpp   
2022-09-06 14:19:34.000000000 +0200
+++ new/kwayland-integration-5.26.0/src/windowsystem/windowshadow.cpp   
2022-10-06 14:21:30.000000000 +0200
@@ -106,8 +106,21 @@
 
 void WindowShadow::internalDestroy()
 {
+    if (!shadow) {
+        return;
+    }
+
+    KWayland::Client::ShadowManager *shadowManager = 
WaylandIntegration::self()->waylandShadowManager();
+    if (shadowManager) {
+        KWayland::Client::Surface *surface = 
KWayland::Client::Surface::fromWindow(window);
+        if (surface) {
+            shadowManager->removeShadow(surface);
+        }
+    }
+
     delete shadow;
     shadow = nullptr;
+
     if (window) {
         window->requestUpdate();
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/kwayland-integration-5.25.5/src/windowsystem/windowsystem.cpp 
new/kwayland-integration-5.26.0/src/windowsystem/windowsystem.cpp
--- old/kwayland-integration-5.25.5/src/windowsystem/windowsystem.cpp   
2022-09-06 14:19:34.000000000 +0200
+++ new/kwayland-integration-5.26.0/src/windowsystem/windowsystem.cpp   
2022-10-06 14:21:30.000000000 +0200
@@ -17,6 +17,7 @@
 #include <KWayland/Client/seat.h>
 #include <KWayland/Client/surface.h>
 
+#include <QGuiApplication>
 #include <QPixmap>
 #include <QPoint>
 #include <QString>
@@ -24,6 +25,7 @@
 #include <private/qwaylanddisplay_p.h>
 #include <private/qwaylandinputdevice_p.h>
 #include <private/qwaylandwindow_p.h>
+#include <qpa/qplatformnativeinterface.h>
 
 using namespace KWayland::Client;
 
@@ -55,8 +57,19 @@
 
 void WindowSystem::requestToken(QWindow *window, uint32_t serial, const 
QString &app_id)
 {
-    Surface *surface = Surface::fromWindow(window);
-    wl_surface *wlSurface = surface ? static_cast<wl_surface *>(*surface) : 
nullptr;
+    wl_surface *wlSurface = [](QWindow *window) -> wl_surface * {
+        if (!window) {
+            return nullptr;
+        }
+
+        QPlatformNativeInterface *native = qGuiApp->platformNativeInterface();
+        if (!native) {
+            return nullptr;
+        }
+        window->create();
+        return reinterpret_cast<wl_surface 
*>(native->nativeResourceForWindow(QByteArrayLiteral("surface"), window));
+    }(window);
+
     WaylandXdgActivationV1 *activation = 
WaylandIntegration::self()->activation();
     if (!activation) {
         // Ensure that xdgActivationTokenArrived is always emitted 
asynchronously

Reply via email to