Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package kwayland for openSUSE:Factory 
checked in at 2022-09-13 15:09:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kwayland (Old)
 and      /work/SRC/openSUSE:Factory/.kwayland.new.2083 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "kwayland"

Tue Sep 13 15:09:10 2022 rev:103 rq:1002859 version:5.98.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/kwayland/kwayland.changes        2022-08-15 
19:59:49.161327646 +0200
+++ /work/SRC/openSUSE:Factory/.kwayland.new.2083/kwayland.changes      
2022-09-13 15:10:43.440868098 +0200
@@ -1,0 +2,11 @@
+Tue Sep  6 07:17:22 UTC 2022 - Christophe Giboudeaux <christo...@krop.fr>
+
+- Update to 5.98.0
+  * New feature release
+  * For more details please see:
+  * https://kde.org/announcements/frameworks/5/5.98.0
+- Changes since 5.97.0:
+  * Add FreeBSD Qt6 CI support
+  * Auto cleanup the dangling KWayland::Client::Surface returned from 
fromWindow
+
+-------------------------------------------------------------------

Old:
----
  kwayland-5.97.0.tar.xz
  kwayland-5.97.0.tar.xz.sig

New:
----
  kwayland-5.98.0.tar.xz
  kwayland-5.98.0.tar.xz.sig

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

Other differences:
------------------
++++++ kwayland.spec ++++++
--- /var/tmp/diff_new_pack.NRWhs5/_old  2022-09-13 15:10:43.892869371 +0200
+++ /var/tmp/diff_new_pack.NRWhs5/_new  2022-09-13 15:10:43.896869381 +0200
@@ -16,7 +16,7 @@
 #
 
 
-%define _tar_path 5.97
+%define _tar_path 5.98
 # Full KF5 version (e.g. 5.33.0)
 %{!?_kf5_version: %global _kf5_version %{version}}
 # Last major and minor KF5 version (e.g. 5.33)
@@ -24,7 +24,7 @@
 # Only needed for the package signature condition
 %bcond_without released
 Name:           kwayland
-Version:        5.97.0
+Version:        5.98.0
 Release:        0
 Summary:        KDE Wayland library
 License:        LGPL-2.1-or-later
@@ -39,6 +39,7 @@
 BuildRequires:  fdupes
 BuildRequires:  kf5-filesystem
 BuildRequires:  libQt5Gui-private-headers-devel >= 5.15.0
+BuildRequires:  libqt5-qtwayland-private-headers-devel >= 5.15.0
 BuildRequires:  pkgconfig
 BuildRequires:  cmake(PlasmaWaylandProtocols) >= 1.2.1
 BuildRequires:  cmake(Qt5Concurrent) >= 5.15.0


++++++ kwayland-5.97.0.tar.xz -> kwayland-5.98.0.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kwayland-5.97.0/.gitlab-ci.yml 
new/kwayland-5.98.0/.gitlab-ci.yml
--- old/kwayland-5.97.0/.gitlab-ci.yml  2022-08-07 14:23:08.000000000 +0200
+++ new/kwayland-5.98.0/.gitlab-ci.yml  2022-09-05 11:31:19.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-5.97.0/CMakeLists.txt 
new/kwayland-5.98.0/CMakeLists.txt
--- old/kwayland-5.97.0/CMakeLists.txt  2022-08-07 14:23:08.000000000 +0200
+++ new/kwayland-5.98.0/CMakeLists.txt  2022-09-05 11:31:19.000000000 +0200
@@ -1,11 +1,11 @@
 cmake_minimum_required(VERSION 3.16)
 
-set(KF_VERSION "5.97.0") # handled by release scripts
+set(KF_VERSION "5.98.0") # handled by release scripts
 project(KWayland VERSION ${KF_VERSION})
 
 # ECM setup
 include(FeatureSummary)
-find_package(ECM 5.97.0  NO_MODULE)
+find_package(ECM 5.98.0  NO_MODULE)
 set_package_properties(ECM PROPERTIES TYPE REQUIRED DESCRIPTION "Extra CMake 
Modules." URL "https://commits.kde.org/extra-cmake-modules";)
 feature_summary(WHAT REQUIRED_PACKAGES_NOT_FOUND 
FATAL_ON_MISSING_REQUIRED_PACKAGES)
 set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake/Modules)
@@ -40,12 +40,16 @@
 # Dependencies
 set(REQUIRED_QT_VERSION 5.15.2)
 find_package(Qt${QT_MAJOR_VERSION}Gui ${REQUIRED_QT_VERSION} REQUIRED 
NO_MODULE COMPONENTS Private)
-find_package(Qt${QT_MAJOR_VERSION} ${REQUIRED_QT_VERSION} CONFIG REQUIRED 
Concurrent WaylandClient)
+find_package(Qt${QT_MAJOR_VERSION} ${REQUIRED_QT_VERSION} CONFIG REQUIRED 
Concurrent)
+find_package(Qt${QT_MAJOR_VERSION}WaylandClient ${REQUIRED_QT_VERSION} CONFIG 
REQUIRED NO_MODULE COMPONENTS Private)
 
 # With Qt6 use qt_generate_wayland_protocol_client_sources instead of
 # ecm_add_qtwayland_client_protocol (from ECM's QtWaylandScanner)
 if (QT_MAJOR_VERSION STREQUAL "5")
     find_package(QtWaylandScanner REQUIRED)
+    find_package(Qt5XkbCommonSupport REQUIRED) # Needed by 
Qt5::WaylandClientPrivate
+    find_package(PkgConfig REQUIRED)
+    pkg_check_modules(XKBCommon REQUIRED IMPORTED_TARGET xkbcommon)
 endif()
 
 find_package(Wayland 1.15 COMPONENTS Client Server)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kwayland-5.97.0/src/client/CMakeLists.txt 
new/kwayland-5.98.0/src/client/CMakeLists.txt
--- old/kwayland-5.97.0/src/client/CMakeLists.txt       2022-08-07 
14:23:08.000000000 +0200
+++ new/kwayland-5.98.0/src/client/CMakeLists.txt       2022-09-05 
11:31:19.000000000 +0200
@@ -1,6 +1,7 @@
 remove_definitions(-DQT_NO_CAST_FROM_BYTEARRAY)
 remove_definitions(-DQT_NO_CAST_FROM_ASCII)
 remove_definitions(-DQT_NO_CAST_TO_ASCII)
+remove_definitions(-DQT_NO_KEYWORDS)
 
 # needed to access QPA
 include_directories(SYSTEM ${Qt${QT_MAJOR_VERSION}Gui_PRIVATE_INCLUDE_DIRS})
@@ -238,7 +239,10 @@
     BASENAME remote-access
 )
 
-add_library(KF5WaylandClient ${CLIENT_LIB_SRCS})
+set_source_files_properties(${CLIENT_LIB_SRCS} PROPERTIES
+    COMPILE_FLAGS -DQT_NO_KEYWORDS)
+
+add_library(KF5WaylandClient ${CLIENT_LIB_SRCS} surface_p.cpp)
 add_library(KF5::WaylandClient ALIAS KF5WaylandClient)
 ecm_generate_export_header(KF5WaylandClient
     BASE_NAME
@@ -260,8 +264,17 @@
     PUBLIC Qt${QT_MAJOR_VERSION}::Gui
     PRIVATE Wayland::Client
         Qt${QT_MAJOR_VERSION}::Concurrent
+        Qt${QT_MAJOR_VERSION}::WaylandClientPrivate
 )
 
+if (QT_MAJOR_VERSION EQUAL "5")
+    target_link_libraries(KF5WaylandClient
+        PRIVATE
+            Qt::XkbCommonSupportPrivate
+            PkgConfig::XKBCommon
+    )
+endif()
+
 set_target_properties(KF5WaylandClient PROPERTIES VERSION   ${KWAYLAND_VERSION}
                                                  SOVERSION 
${KWAYLAND_SOVERSION}
                                                  EXPORT_NAME WaylandClient
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kwayland-5.97.0/src/client/surface.cpp 
new/kwayland-5.98.0/src/client/surface.cpp
--- old/kwayland-5.97.0/src/client/surface.cpp  2022-08-07 14:23:08.000000000 
+0200
+++ new/kwayland-5.98.0/src/client/surface.cpp  2022-09-05 11:31:19.000000000 
+0200
@@ -6,12 +6,12 @@
 #include "surface.h"
 #include "output.h"
 #include "region.h"
+#include "surface_p.h"
 #include "wayland_pointer_p.h"
 
 #include <QGuiApplication>
 #include <QRegion>
 #include <QVector>
-#include <qpa/qplatformnativeinterface.h>
 // Wayland
 #include <wayland-client-protocol.h>
 
@@ -19,34 +19,6 @@
 {
 namespace Client
 {
-class Q_DECL_HIDDEN Surface::Private
-{
-public:
-    Private(Surface *q);
-    void setupFrameCallback();
-
-    WaylandPointer<wl_surface, wl_surface_destroy> surface;
-    bool frameCallbackInstalled = false;
-    QSize size;
-    bool foreign = false;
-    qint32 scale = 1;
-    QVector<Output *> outputs;
-
-    void setup(wl_surface *s);
-
-    static QList<Surface *> s_surfaces;
-
-private:
-    void handleFrameCallback();
-    static void frameCallback(void *data, wl_callback *callback, uint32_t 
time);
-    static void enterCallback(void *data, wl_surface *wl_surface, wl_output 
*output);
-    static void leaveCallback(void *data, wl_surface *wl_surface, wl_output 
*output);
-    void removeOutput(Output *o);
-
-    Surface *q;
-    static const wl_callback_listener s_listener;
-    static const wl_surface_listener s_surfaceListener;
-};
 
 QList<Surface *> Surface::Private::s_surfaces = QList<Surface *>();
 
@@ -68,44 +40,6 @@
     release();
 }
 
-Surface *Surface::fromWindow(QWindow *window)
-{
-    if (!window) {
-        return nullptr;
-    }
-    QPlatformNativeInterface *native = qApp->platformNativeInterface();
-    if (!native) {
-        return nullptr;
-    }
-    window->create();
-    wl_surface *s = reinterpret_cast<wl_surface 
*>(native->nativeResourceForWindow(QByteArrayLiteral("surface"), window));
-    if (!s) {
-        return nullptr;
-    }
-    if (auto surface = get(s)) {
-        return surface;
-    }
-    Surface *surface = new Surface(window);
-    surface->d->surface.setup(s, true);
-    return surface;
-}
-
-Surface *Surface::fromQtWinId(WId wid)
-{
-    QWindow *window = nullptr;
-
-    for (auto win : qApp->allWindows()) {
-        if (win->winId() == wid) {
-            window = win;
-            break;
-        }
-    }
-
-    if (!window) {
-        return nullptr;
-    }
-    return fromWindow(window);
-}
 
 void Surface::release()
 {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kwayland-5.97.0/src/client/surface.h 
new/kwayland-5.98.0/src/client/surface.h
--- old/kwayland-5.97.0/src/client/surface.h    2022-08-07 14:23:08.000000000 
+0200
+++ new/kwayland-5.98.0/src/client/surface.h    2022-09-05 11:31:19.000000000 
+0200
@@ -53,7 +53,9 @@
      * @c nullptr as well as for not created QWindows.
      *
      * The returned Surface will be fully setup, but won't be released. It 
gets automatically
-     * destroyed together with the @p window.
+     * destroyed together with the @p window or when the internal wl_surface 
get destroyed.
+     * QtWayland may destroy wl_surface when hiding the window, you should 
always call
+     * this function instead of holding the returned pointer.
      * @since 5.4
      **/
     static Surface *fromWindow(QWindow *window);
@@ -64,9 +66,10 @@
      * @c nullptr as well as for not created QWindows.
      *
      * The returned Surface will be fully setup, but won't be released. It 
gets automatically
-     * destroyed together with the QWindow corresponding
+     * destroyed together with the QWindow or the wl_surface corresponding.
      * the @p wid.
      * @since 5.5
+     * @see fromWindow
      **/
     static Surface *fromQtWinId(WId wid);
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kwayland-5.97.0/src/client/surface_p.cpp 
new/kwayland-5.98.0/src/client/surface_p.cpp
--- old/kwayland-5.97.0/src/client/surface_p.cpp        1970-01-01 
01:00:00.000000000 +0100
+++ new/kwayland-5.98.0/src/client/surface_p.cpp        2022-09-05 
11:31:19.000000000 +0200
@@ -0,0 +1,65 @@
+/*
+    SPDX-FileCopyrightText: 2014 Martin Gr????lin <mgraess...@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR 
LicenseRef-KDE-Accepted-LGPL
+*/
+
+#include "surface_p.h"
+#include "surface.h"
+
+#include <QGuiApplication>
+#include <private/qwaylandwindow_p.h>
+#include <qpa/qplatformnativeinterface.h>
+
+namespace KWayland
+{
+namespace Client
+{
+
+// The file split from surface.cpp because QtWaylandClient private headers 
require to unset QT_NO_KEYWORDS.
+Surface *Surface::fromWindow(QWindow *window)
+{
+    if (!window) {
+        return nullptr;
+    }
+    QPlatformNativeInterface *native = qApp->platformNativeInterface();
+    if (!native) {
+        return nullptr;
+    }
+    window->create();
+    wl_surface *s = reinterpret_cast<wl_surface 
*>(native->nativeResourceForWindow(QByteArrayLiteral("surface"), window));
+    if (!s) {
+        return nullptr;
+    }
+    if (auto surface = get(s)) {
+        return surface;
+    }
+    Surface *surface = new Surface(window);
+    surface->d->surface.setup(s, true);
+
+    auto waylandWindow = dynamic_cast<QtWaylandClient::QWaylandWindow 
*>(window->handle());
+    if (waylandWindow) {
+        connect(waylandWindow, 
&QtWaylandClient::QWaylandWindow::wlSurfaceDestroyed, surface, 
&QObject::deleteLater);
+    }
+    return surface;
+}
+
+Surface *Surface::fromQtWinId(WId wid)
+{
+    QWindow *window = nullptr;
+
+    for (auto win : qApp->allWindows()) {
+        if (win->winId() == wid) {
+            window = win;
+            break;
+        }
+    }
+
+    if (!window) {
+        return nullptr;
+    }
+    return fromWindow(window);
+}
+
+}
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/kwayland-5.97.0/src/client/surface_p.h 
new/kwayland-5.98.0/src/client/surface_p.h
--- old/kwayland-5.97.0/src/client/surface_p.h  1970-01-01 01:00:00.000000000 
+0100
+++ new/kwayland-5.98.0/src/client/surface_p.h  2022-09-05 11:31:19.000000000 
+0200
@@ -0,0 +1,50 @@
+/*
+    SPDX-FileCopyrightText: 2014 Martin Gr????lin <mgraess...@kde.org>
+
+    SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR 
LicenseRef-KDE-Accepted-LGPL
+*/
+#ifndef WAYLAND_SURFACE_P_H
+#define WAYLAND_SURFACE_P_H
+
+#include "surface.h"
+#include "wayland_pointer_p.h"
+// Wayland
+#include <wayland-client-protocol.h>
+
+namespace KWayland
+{
+namespace Client
+{
+class Q_DECL_HIDDEN Surface::Private
+{
+public:
+    Private(Surface *q);
+    void setupFrameCallback();
+
+    WaylandPointer<wl_surface, wl_surface_destroy> surface;
+    bool frameCallbackInstalled = false;
+    QSize size;
+    bool foreign = false;
+    qint32 scale = 1;
+    QVector<Output *> outputs;
+
+    void setup(wl_surface *s);
+
+    static QList<Surface *> s_surfaces;
+
+private:
+    void handleFrameCallback();
+    static void frameCallback(void *data, wl_callback *callback, uint32_t 
time);
+    static void enterCallback(void *data, wl_surface *wl_surface, wl_output 
*output);
+    static void leaveCallback(void *data, wl_surface *wl_surface, wl_output 
*output);
+    void removeOutput(Output *o);
+
+    Surface *q;
+    static const wl_callback_listener s_listener;
+    static const wl_surface_listener s_surfaceListener;
+};
+
+}
+}
+
+#endif

Reply via email to