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 <[email protected]>
+
+- 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