Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package libqt5-qtwayland for 
openSUSE:Factory checked in at 2022-11-04 17:32:07
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/libqt5-qtwayland (Old)
 and      /work/SRC/openSUSE:Factory/.libqt5-qtwayland.new.2275 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libqt5-qtwayland"

Fri Nov  4 17:32:07 2022 rev:47 rq:1033121 version:5.15.7+kde49

Changes:
--------
--- /work/SRC/openSUSE:Factory/libqt5-qtwayland/libqt5-qtwayland.changes        
2022-09-27 20:10:18.785348309 +0200
+++ 
/work/SRC/openSUSE:Factory/.libqt5-qtwayland.new.2275/libqt5-qtwayland.changes  
    2022-11-04 17:32:47.672129228 +0100
@@ -1,0 +2,9 @@
+Thu Nov  3 08:57:16 UTC 2022 - Fabian Vogt <fab...@ritter-vogt.de>
+
+- Update to version 5.15.7+kde49, rebased upstream:
+  * Hold surface read lock throughout QWaylandEglWindow::updateSurface
+  * Keep reference to buffer until it has been replaced
+  * Implement wp_viewporter support for video buffer formats
+  * Ignore viewporter buffer size when buffer is null
+
+-------------------------------------------------------------------

Old:
----
  qtwayland-everywhere-src-5.15.6+kde49.obscpio

New:
----
  qtwayland-everywhere-src-5.15.7+kde49.obscpio

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

Other differences:
------------------
++++++ libqt5-qtwayland.spec ++++++
--- /var/tmp/diff_new_pack.0o1MB5/_old  2022-11-04 17:32:48.836135491 +0100
+++ /var/tmp/diff_new_pack.0o1MB5/_new  2022-11-04 17:32:48.852135577 +0100
@@ -22,11 +22,11 @@
 %define qt5_snapshot 1
 %define libname libQt5WaylandCompositor5
 %define base_name libqt5
-%define real_version 5.15.6
-%define so_version 5.15.6
+%define real_version 5.15.7
+%define so_version 5.15.7
 %define tar_version qtwayland-everywhere-src-%{version}
 Name:           libqt5-qtwayland
-Version:        5.15.6+kde49
+Version:        5.15.7+kde49
 Release:        0
 Summary:        Qt 5 Wayland Addon
 # The wayland compositor files are GPL-3.0-or-later

++++++ _service ++++++
--- /var/tmp/diff_new_pack.0o1MB5/_old  2022-11-04 17:32:48.948136094 +0100
+++ /var/tmp/diff_new_pack.0o1MB5/_new  2022-11-04 17:32:48.968136201 +0100
@@ -1,12 +1,12 @@
 <services>
   <service name="obs_scm" mode="disabled">
    <param name="changesgenerate">enable</param>
-   <param name="versionformat">5.15.6+kde@TAG_OFFSET@</param>
+   <param name="versionformat">5.15.7+kde@TAG_OFFSET@</param>
    <param name="url">https://invent.kde.org/qt/qt/qtwayland.git</param>
    <param name="scm">git</param>
    <param name="filename">qtwayland-everywhere-src</param>
    <param name="revision">kde/5.15</param>
-   <param name="parent-tag">v5.15.6-lts-lgpl</param>
+   <param name="parent-tag">v5.15.7-lts-lgpl</param>
    <param name="changesgenerate">enable</param>
   </service>
   <service name="set_version" mode="disabled"/>

++++++ qtwayland-everywhere-src-5.15.6+kde49.obscpio -> 
qtwayland-everywhere-src-5.15.7+kde49.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/qtwayland-everywhere-src-5.15.6+kde49/.qmake.conf 
new/qtwayland-everywhere-src-5.15.7+kde49/.qmake.conf
--- old/qtwayland-everywhere-src-5.15.6+kde49/.qmake.conf       2022-09-22 
13:58:55.000000000 +0200
+++ new/qtwayland-everywhere-src-5.15.7+kde49/.qmake.conf       2022-10-28 
12:26:51.000000000 +0200
@@ -4,4 +4,4 @@
 DEFINES += QT_NO_JAVA_STYLE_ITERATORS
 DEFINES += QT_NO_LINKED_LIST
 
-MODULE_VERSION = 5.15.6
+MODULE_VERSION = 5.15.7
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtwayland-everywhere-src-5.15.6+kde49/src/client/qwaylandwindow_p.h 
new/qtwayland-everywhere-src-5.15.7+kde49/src/client/qwaylandwindow_p.h
--- old/qtwayland-everywhere-src-5.15.6+kde49/src/client/qwaylandwindow_p.h     
2022-09-22 13:58:55.000000000 +0200
+++ new/qtwayland-everywhere-src-5.15.7+kde49/src/client/qwaylandwindow_p.h     
2022-10-28 12:26:51.000000000 +0200
@@ -220,7 +220,11 @@
 
 protected:
     QWaylandDisplay *mDisplay = nullptr;
+
+    // mSurface can be written by the main thread. Other threads should claim 
a read lock for access
+    mutable QReadWriteLock mSurfaceLock;
     QScopedPointer<QWaylandSurface> mSurface;
+
     QWaylandShellSurface *mShellSurface = nullptr;
     QWaylandSubSurface *mSubSurfaceWindow = nullptr;
     QVector<QWaylandSubSurface *> mChildren;
@@ -294,8 +298,6 @@
 
     static QWaylandWindow *mMouseGrab;
 
-    mutable QReadWriteLock mSurfaceLock;
-
     friend class QWaylandSubSurface;
 };
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtwayland-everywhere-src-5.15.6+kde49/src/compositor/compositor_api/qwaylandquickitem.cpp
 
new/qtwayland-everywhere-src-5.15.7+kde49/src/compositor/compositor_api/qwaylandquickitem.cpp
--- 
old/qtwayland-everywhere-src-5.15.6+kde49/src/compositor/compositor_api/qwaylandquickitem.cpp
       2022-09-22 13:58:55.000000000 +0200
+++ 
new/qtwayland-everywhere-src-5.15.7+kde49/src/compositor/compositor_api/qwaylandquickitem.cpp
       2022-10-28 12:26:51.000000000 +0200
@@ -253,6 +253,16 @@
         m_textures << nullptr;
     }
 }
+
+void QWaylandBufferMaterial::setBufferRef(QWaylandQuickItem *surfaceItem, 
const QWaylandBufferRef &ref)
+{
+    Q_UNUSED(surfaceItem);
+    m_bufferRef = ref;
+    for (int plane = 0; plane < bufferTypes[ref.bufferFormatEgl()].planeCount; 
plane++)
+        if (auto texture = ref.toOpenGLTexture(plane))
+            setTextureForPlane(plane, texture);
+    bind();
+}
 #endif // QT_CONFIG(opengl)
 
 QMutex *QWaylandQuickItemPrivate::mutex = nullptr;
@@ -1411,13 +1421,20 @@
 
     if (d->newTexture) {
         d->newTexture = false;
-        for (int plane = 0; plane < 
bufferTypes[ref.bufferFormatEgl()].planeCount; plane++)
-            if (auto texture = ref.toOpenGLTexture(plane))
-                material->setTextureForPlane(plane, texture);
-        material->bind();
+        material->setBufferRef(this, ref);
     }
 
-    QSGGeometry::updateTexturedRectGeometry(geometry, rect, QRectF(0, 0, 1, 
1));
+    const QSize surfaceSize = ref.size() / surface()->bufferScale();
+    const QRectF sourceGeometry = surface()->sourceGeometry();
+    const QRectF normalizedCoordinates =
+            sourceGeometry.isValid()
+            ? QRectF(sourceGeometry.x() / surfaceSize.width(),
+                     sourceGeometry.y() / surfaceSize.height(),
+                     sourceGeometry.width() / surfaceSize.width(),
+                     sourceGeometry.height() / surfaceSize.height())
+            : QRectF(0, 0, 1, 1);
+
+    QSGGeometry::updateTexturedRectGeometry(geometry, rect, 
normalizedCoordinates);
 
     node->setGeometry(geometry);
     node->setFlag(QSGNode::OwnsGeometry, true);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtwayland-everywhere-src-5.15.6+kde49/src/compositor/compositor_api/qwaylandquickitem_p.h
 
new/qtwayland-everywhere-src-5.15.7+kde49/src/compositor/compositor_api/qwaylandquickitem_p.h
--- 
old/qtwayland-everywhere-src-5.15.6+kde49/src/compositor/compositor_api/qwaylandquickitem_p.h
       2022-09-22 13:58:55.000000000 +0200
+++ 
new/qtwayland-everywhere-src-5.15.7+kde49/src/compositor/compositor_api/qwaylandquickitem_p.h
       2022-10-28 12:26:51.000000000 +0200
@@ -80,6 +80,7 @@
     ~QWaylandBufferMaterial() override;
 
     void setTextureForPlane(int plane, QOpenGLTexture *texture);
+    void setBufferRef(QWaylandQuickItem *surfaceItem, const QWaylandBufferRef 
&ref);
 
     void bind();
 
@@ -92,6 +93,7 @@
 
     const QWaylandBufferRef::BufferFormatEgl m_format;
     QVarLengthArray<QOpenGLTexture*, 3> m_textures;
+    QWaylandBufferRef m_bufferRef;
 };
 #endif // QT_CONFIG(opengl)
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtwayland-everywhere-src-5.15.6+kde49/src/compositor/extensions/qwaylandviewporter.cpp
 
new/qtwayland-everywhere-src-5.15.7+kde49/src/compositor/extensions/qwaylandviewporter.cpp
--- 
old/qtwayland-everywhere-src-5.15.6+kde49/src/compositor/extensions/qwaylandviewporter.cpp
  2022-09-22 13:58:55.000000000 +0200
+++ 
new/qtwayland-everywhere-src-5.15.7+kde49/src/compositor/extensions/qwaylandviewporter.cpp
  2022-10-28 12:26:51.000000000 +0200
@@ -149,14 +149,16 @@
         return;
     }
 
-    QRectF max = QRectF(QPointF(), m_surface->bufferSize() / 
m_surface->bufferScale());
-    // We can't use QRectF.contains, because that would return false for 
values on the border
-    if (max.united(source) != max) {
-        wl_resource_post_error(resource()->handle, error_out_of_buffer,
-                               "source %f,%f, %fx%f extends outside attached 
buffer %fx%f",
-                               source.x(), source.y(), source.width(), 
source.height(),
-                               max.width(), max.height());
-        return;
+    if (m_surface->bufferSize().isValid()) {
+        QRectF max = QRectF(QPointF(), m_surface->bufferSize() / 
m_surface->bufferScale());
+        // We can't use QRectF.contains, because that would return false for 
values on the border
+        if (max.united(source) != max) {
+            wl_resource_post_error(resource()->handle, error_out_of_buffer,
+                                   "source %f,%f, %fx%f extends outside 
attached buffer %fx%f",
+                                   source.x(), source.y(), source.width(), 
source.height(),
+                                   max.width(), max.height());
+            return;
+        }
     }
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/qtwayland-everywhere-src-5.15.6+kde49/src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.cpp
 
new/qtwayland-everywhere-src-5.15.7+kde49/src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.cpp
--- 
old/qtwayland-everywhere-src-5.15.6+kde49/src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.cpp
  2022-09-22 13:58:55.000000000 +0200
+++ 
new/qtwayland-everywhere-src-5.15.7+kde49/src/hardwareintegration/client/wayland-egl/qwaylandeglwindow.cpp
  2022-10-28 12:26:51.000000000 +0200
@@ -40,6 +40,7 @@
 #include "qwaylandeglwindow.h"
 
 #include <QtWaylandClient/private/qwaylandscreen_p.h>
+#include <QtWaylandClient/private/qwaylandsurface_p.h>
 #include "qwaylandglcontext.h"
 
 #include <QtEglSupport/private/qeglconvenience_p.h>
@@ -124,6 +125,7 @@
         }
         mOffset = QPoint();
     } else {
+        QReadLocker locker(&mSurfaceLock);
         if (m_waylandEglWindow) {
             int current_width, current_height;
             static bool disableResizeCheck = 
qgetenv("QT_WAYLAND_DISABLE_RESIZECHECK").toInt();
@@ -138,8 +140,8 @@
 
                 m_resize = true;
             }
-        } else if (create && wlSurface()) {
-            m_waylandEglWindow = wl_egl_window_create(wlSurface(), 
sizeWithMargins.width(), sizeWithMargins.height());
+        } else if (create && mSurface) {
+            m_waylandEglWindow = wl_egl_window_create(mSurface->object(), 
sizeWithMargins.width(), sizeWithMargins.height());
             m_requestedSize = sizeWithMargins;
         }
 

++++++ qtwayland-everywhere-src.obsinfo ++++++
--- /var/tmp/diff_new_pack.0o1MB5/_old  2022-11-04 17:32:49.884141130 +0100
+++ /var/tmp/diff_new_pack.0o1MB5/_new  2022-11-04 17:32:49.924141345 +0100
@@ -1,5 +1,5 @@
 name: qtwayland-everywhere-src
-version: 5.15.6+kde49
-mtime: 1663847935
-commit: 31241d7fb6a7ffb8f56bc8ac35ed9f3bc61735b5
+version: 5.15.7+kde49
+mtime: 1666952811
+commit: 9c607c771acdb3d820be7f112db99213a6c6d7eb
 

Reply via email to