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-02-24 18:18:37 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libqt5-qtwayland (Old) and /work/SRC/openSUSE:Factory/.libqt5-qtwayland.new.1958 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libqt5-qtwayland" Thu Feb 24 18:18:37 2022 rev:44 rq:956939 version:5.15.2+kde54 Changes: -------- --- /work/SRC/openSUSE:Factory/libqt5-qtwayland/libqt5-qtwayland.changes 2022-02-06 23:55:21.382386486 +0100 +++ /work/SRC/openSUSE:Factory/.libqt5-qtwayland.new.1958/libqt5-qtwayland.changes 2022-02-24 18:18:59.894729716 +0100 @@ -1,0 +2,18 @@ +Tue Feb 22 15:32:53 UTC 2022 - Fabian Vogt <fab...@ritter-vogt.de> + +- Update to version 5.15.2+kde54: + * Use proper dependencies in compile tests + * Client: Fix opaque region setter + * client: Simplify round trip behavior (boo#1196302) + * Update the preedit styling mapping + * Cursor position == 0 should still show the cursor + * Client: Remove mWaitingForUpdateDelivery + * Fix crash if no input method module could be loaded + * Use wl_surface.damage_buffer on the client side + * Do not create decorations when the shellSurface is not ready + * Check pointer for null before use in ASSERT +- Drop patches, now upstream: + * 0001-Client-Remove-mWaitingForUpdateDelivery.patch + * 0001-Use-proper-dependencies-in-compile-tests.patch + +------------------------------------------------------------------- Old: ---- 0001-Client-Remove-mWaitingForUpdateDelivery.patch 0001-Use-proper-dependencies-in-compile-tests.patch qtwayland-everywhere-src-5.15.2+kde44.obscpio New: ---- qtwayland-everywhere-src-5.15.2+kde54.obscpio ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libqt5-qtwayland.spec ++++++ --- /var/tmp/diff_new_pack.rhowmp/_old 2022-02-24 18:19:00.682729506 +0100 +++ /var/tmp/diff_new_pack.rhowmp/_new 2022-02-24 18:19:00.686729505 +0100 @@ -26,7 +26,7 @@ %define so_version 5.15.2 %define tar_version qtwayland-everywhere-src-%{version} Name: libqt5-qtwayland -Version: 5.15.2+kde44 +Version: 5.15.2+kde54 Release: 0 Summary: Qt 5 Wayland Addon # The wayland compositor files are GPL-3.0-or-later @@ -37,14 +37,10 @@ Source1: baselibs.conf # PATCH-FIX-OPENSUSE Patch1: 0001-Revert-Bump-version.patch -# PATCH-FIX-UPSTREAM https://codereview.qt-project.org/c/qt/qtwayland/+/393273 -Patch2: 0001-Client-Remove-mWaitingForUpdateDelivery.patch # https://codereview.qt-project.org/c/qt/qtwayland/+/393828/1 Patch3: 0002-Guard-mResizeDirty-by-the-correctMutex.patch # https://codereview.qt-project.org/c/qt/qtwayland/+/393826/1 Patch4: 0003-Fix-up-mutexes-for-frame-callbacks.patch -# To be sent upstream -Patch10: 0001-Use-proper-dependencies-in-compile-tests.patch BuildRequires: fdupes BuildRequires: libqt5-qtbase-private-headers-devel >= %{real_version} BuildRequires: libqt5-qtdeclarative-private-headers-devel >= %{real_version} ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.rhowmp/_old 2022-02-24 18:19:00.730729493 +0100 +++ /var/tmp/diff_new_pack.rhowmp/_new 2022-02-24 18:19:00.734729492 +0100 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://invent.kde.org/qt/qt/qtwayland.git</param> - <param name="changesrevision">4644d51f4b52e83fc1b4d02b380d80d9d57e76fa</param></service></servicedata> + <param name="changesrevision">8f0c9169310344c8f179311bae446239cdb61f68</param></service></servicedata> (No newline at EOF) ++++++ qtwayland-everywhere-src-5.15.2+kde44.obscpio -> qtwayland-everywhere-src-5.15.2+kde54.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwayland-everywhere-src-5.15.2+kde44/src/client/configure.json new/qtwayland-everywhere-src-5.15.2+kde54/src/client/configure.json --- old/qtwayland-everywhere-src-5.15.2+kde44/src/client/configure.json 2022-01-19 17:16:28.000000000 +0100 +++ new/qtwayland-everywhere-src-5.15.2+kde54/src/client/configure.json 2022-02-22 16:30:48.000000000 +0100 @@ -149,8 +149,7 @@ "#endif" ] }, - "libs": "-ldrm", - "use": "egl" + "use": "drm egl" }, "vulkan-server-buffer": { "label": "Vulkan Buffer Sharing", @@ -168,7 +167,8 @@ "exportAllocInfo.handleTypes = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR;", "return 0;" ] - } + }, + "use": "wayland-client" }, "egl_1_5-wayland": { "label": "EGL 1.5 with Wayland Platform", @@ -183,7 +183,7 @@ "eglGetPlatformDisplay(EGL_PLATFORM_WAYLAND_EXT, (struct wl_display *)(nullptr), nullptr);" ] }, - "use": "egl" + "use": "egl wayland-client" } }, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwayland-everywhere-src-5.15.2+kde44/src/client/qwaylanddisplay.cpp new/qtwayland-everywhere-src-5.15.2+kde54/src/client/qwaylanddisplay.cpp --- old/qtwayland-everywhere-src-5.15.2+kde44/src/client/qwaylanddisplay.cpp 2022-01-19 17:16:28.000000000 +0100 +++ new/qtwayland-everywhere-src-5.15.2+kde54/src/client/qwaylanddisplay.cpp 2022-02-22 16:30:48.000000000 +0100 @@ -488,7 +488,7 @@ if (interface == QStringLiteral("wl_output")) { mWaitingScreens << new QWaylandScreen(this, version, id); } else if (interface == QStringLiteral("wl_compositor")) { - mCompositorVersion = qMin((int)version, 3); + mCompositorVersion = qMin((int)version, 4); mCompositor.init(registry, id, mCompositorVersion); } else if (interface == QStringLiteral("wl_shm")) { mShm.reset(new QWaylandShm(this, version, id)); @@ -611,50 +611,9 @@ return 0; } -static void -sync_callback(void *data, struct wl_callback *callback, uint32_t serial) -{ - Q_UNUSED(serial) - bool *done = static_cast<bool *>(data); - - *done = true; - - // If the wl_callback done event is received after the condition check in the while loop in - // forceRoundTrip(), but before the call to processEvents, the call to processEvents may block - // forever if no more events are posted (eventhough the callback is handled in response to the - // aboutToBlock signal). Hence, we wake up the event dispatcher so forceRoundTrip may return. - // (QTBUG-64696) - if (auto *dispatcher = QThread::currentThread()->eventDispatcher()) - dispatcher->wakeUp(); - - wl_callback_destroy(callback); -} - -static const struct wl_callback_listener sync_listener = { - sync_callback -}; - void QWaylandDisplay::forceRoundTrip() { - // wl_display_roundtrip() works on the main queue only, - // but we use a separate one, so basically reimplement it here - int ret = 0; - bool done = false; - wl_callback *callback = wl_display_sync(mDisplay); - wl_callback_add_listener(callback, &sync_listener, &done); - flushRequests(); - if (QThread::currentThread()->eventDispatcher()) { - while (!done && ret >= 0) { - QThread::currentThread()->eventDispatcher()->processEvents(QEventLoop::WaitForMoreEvents); - ret = wl_display_dispatch_pending(mDisplay); - } - } else { - while (!done && ret >= 0) - ret = wl_display_dispatch(mDisplay); - } - - if (ret == -1 && !done) - wl_callback_destroy(callback); + wl_display_roundtrip(mDisplay); } bool QWaylandDisplay::supportsWindowDecoration() const diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwayland-everywhere-src-5.15.2+kde44/src/client/qwaylandintegration.cpp new/qtwayland-everywhere-src-5.15.2+kde54/src/client/qwaylandintegration.cpp --- old/qtwayland-everywhere-src-5.15.2+kde44/src/client/qwaylandintegration.cpp 2022-01-19 17:16:28.000000000 +0100 +++ new/qtwayland-everywhere-src-5.15.2+kde54/src/client/qwaylandintegration.cpp 2022-02-22 16:30:48.000000000 +0100 @@ -491,7 +491,7 @@ } #endif - qCDebug(lcQpaWayland) << "using input method:" << inputContext()->metaObject()->className(); + qCDebug(lcQpaWayland) << "using input method:" << (inputContext() ? inputContext()->metaObject()->className() : "<none>"); } QWaylandShellIntegration *QWaylandIntegration::createShellIntegration(const QString &integrationName) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwayland-everywhere-src-5.15.2+kde44/src/client/qwaylandwindow.cpp new/qtwayland-everywhere-src-5.15.2+kde54/src/client/qwaylandwindow.cpp --- old/qtwayland-everywhere-src-5.15.2+kde44/src/client/qwaylandwindow.cpp 2022-01-19 17:16:28.000000000 +0100 +++ new/qtwayland-everywhere-src-5.15.2+kde54/src/client/qwaylandwindow.cpp 2022-02-22 16:30:48.000000000 +0100 @@ -372,7 +372,7 @@ mShellSurface->setWindowGeometry(windowContentGeometry()); if (isOpaque() && mMask.isEmpty()) - setOpaqueArea(rect); + setOpaqueArea(QRect(QPoint(0, 0), rect.size())); } void QWaylandWindow::resizeFromApplyConfigure(const QSize &sizeWithMargins, const QPoint &offset) @@ -552,8 +552,8 @@ void QWaylandWindow::attach(QWaylandBuffer *buffer, int x, int y) { - Q_ASSERT(!buffer->committed()); if (buffer) { + Q_ASSERT(!buffer->committed()); handleUpdate(); buffer->setBusy(); @@ -571,7 +571,11 @@ void QWaylandWindow::damage(const QRect &rect) { - mSurface->damage(rect.x(), rect.y(), rect.width(), rect.height()); + const int s = scale(); + if (mDisplay->compositorVersion() >= 4) + mSurface->damage_buffer(s * rect.x(), s * rect.y(), s * rect.width(), s * rect.height()); + else + mSurface->damage(rect.x(), rect.y(), rect.width(), rect.height()); } void QWaylandWindow::safeCommit(QWaylandBuffer *buffer, const QRegion &damage) @@ -605,8 +609,14 @@ return; attachOffset(buffer); - for (const QRect &rect: damage) - mSurface->damage(rect.x(), rect.y(), rect.width(), rect.height()); + if (mDisplay->compositorVersion() >= 4) { + const int s = scale(); + for (const QRect &rect: damage) + mSurface->damage_buffer(s * rect.x(), s * rect.y(), s * rect.width(), s * rect.height()); + } else { + for (const QRect &rect: damage) + mSurface->damage(rect.x(), rect.y(), rect.width(), rect.height()); + } Q_ASSERT(!buffer->committed()); buffer->setCommitted(); mSurface->commit(); @@ -638,23 +648,18 @@ mFrameCallbackElapsedTimer.invalidate(); // The rest can wait until we can run it on the correct thread - if (!mWaitingForUpdateDelivery) { - auto doHandleExpose = [this]() { - bool wasExposed = isExposed(); - mFrameCallbackTimedOut = false; - if (!wasExposed && isExposed()) // Did setting mFrameCallbackTimedOut make the window exposed? - sendExposeEvent(QRect(QPoint(), geometry().size())); - if (wasExposed && hasPendingUpdateRequest()) - deliverUpdateRequest(); - - mWaitingForUpdateDelivery = false; - }; - - // Queued connection, to make sure we don't call handleUpdate() from inside waitForFrameSync() - // in the single-threaded case. - mWaitingForUpdateDelivery = true; - QMetaObject::invokeMethod(this, doHandleExpose, Qt::QueuedConnection); - } + auto doHandleExpose = [this]() { + bool wasExposed = isExposed(); + mFrameCallbackTimedOut = false; + if (!wasExposed && isExposed()) // Did setting mFrameCallbackTimedOut make the window exposed? + sendExposeEvent(QRect(QPoint(), geometry().size())); + if (wasExposed && hasPendingUpdateRequest()) + deliverUpdateRequest(); + }; + + // Queued connection, to make sure we don't call handleUpdate() from inside waitForFrameSync() + // in the single-threaded case. + QMetaObject::invokeMethod(this, doHandleExpose, Qt::QueuedConnection); mFrameSyncWait.notify_all(); } @@ -813,7 +818,7 @@ decoration = false; if (mSubSurfaceWindow) decoration = false; - if (mShellSurface && !mShellSurface->wantsDecorations()) + if (!mShellSurface || !mShellSurface->wantsDecorations()) decoration = false; bool hadDecoration = mWindowDecoration; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwayland-everywhere-src-5.15.2+kde44/src/client/qwaylandwindow_p.h new/qtwayland-everywhere-src-5.15.2+kde54/src/client/qwaylandwindow_p.h --- old/qtwayland-everywhere-src-5.15.2+kde44/src/client/qwaylandwindow_p.h 2022-01-19 17:16:28.000000000 +0100 +++ new/qtwayland-everywhere-src-5.15.2+kde54/src/client/qwaylandwindow_p.h 2022-02-22 16:30:48.000000000 +0100 @@ -228,7 +228,6 @@ WId mWindowId; bool mWaitingForFrameCallback = false; bool mFrameCallbackTimedOut = false; // Whether the frame callback has timed out - bool mWaitingForUpdateDelivery = false; int mFrameCallbackCheckIntervalTimerId = -1; QElapsedTimer mFrameCallbackElapsedTimer; struct ::wl_callback *mFrameCallback = nullptr; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwayland-everywhere-src-5.15.2+kde44/src/compositor/configure.json new/qtwayland-everywhere-src-5.15.2+kde54/src/compositor/configure.json --- old/qtwayland-everywhere-src-5.15.2+kde44/src/compositor/configure.json 2022-01-19 17:16:28.000000000 +0100 +++ new/qtwayland-everywhere-src-5.15.2+kde54/src/compositor/configure.json 2022-02-22 16:30:48.000000000 +0100 @@ -7,6 +7,31 @@ "testDir": "../../config.tests", "libraries": { + "wayland-client": { + "label": "Wayland client library", + "headers": "wayland-version.h", + "test": { + "main": [ + "#if WAYLAND_VERSION_MAJOR < 1", + "# error Wayland 1.8.0 or higher required", + "#endif", + "#if WAYLAND_VERSION_MAJOR == 1", + "# if WAYLAND_VERSION_MINOR < 8", + "# error Wayland 1.8.0 or higher required", + "# endif", + "# if WAYLAND_VERSION_MINOR == 8", + "# if WAYLAND_VERSION_MICRO < 0", + "# error Wayland 1.8.0 or higher required", + "# endif", + "# endif", + "#endif" + ] + }, + "sources": [ + { "type": "pkgConfig", "args": "wayland-client" }, + "-lwayland-client" + ] + }, "wayland-server": { "label": "wayland-server", "headers": "wayland-version.h", @@ -151,8 +176,7 @@ "#endif" ] }, - "libs": "-ldrm", - "use": "egl" + "use": "drm egl" }, "dmabuf-client-buffer": { "label": "Linux Client dma-buf Buffer Sharing", @@ -176,8 +200,7 @@ "return 0;" ] }, - "libs": "-ldrm", - "use": "egl" + "use": "drm egl" }, "vulkan-server-buffer": { "label": "Vulkan Buffer Sharing", @@ -195,7 +218,8 @@ "exportAllocInfo.handleTypes = VK_EXTERNAL_MEMORY_HANDLE_TYPE_OPAQUE_FD_BIT_KHR;", "return 0;" ] - } + }, + "use": "wayland-client" } }, diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwayland-everywhere-src-5.15.2+kde44/src/shared/qwaylandinputmethodeventbuilder.cpp new/qtwayland-everywhere-src-5.15.2+kde54/src/shared/qwaylandinputmethodeventbuilder.cpp --- old/qtwayland-everywhere-src-5.15.2+kde44/src/shared/qwaylandinputmethodeventbuilder.cpp 2022-01-19 17:16:28.000000000 +0100 +++ new/qtwayland-everywhere-src-5.15.2+kde54/src/shared/qwaylandinputmethodeventbuilder.cpp 2022-02-22 16:30:48.000000000 +0100 @@ -39,7 +39,10 @@ #include "qwaylandinputmethodeventbuilder_p.h" +#include <QBrush> +#include <QGuiApplication> #include <QInputMethod> +#include <QPalette> #include <QTextCharFormat> #ifdef QT_BUILD_WAYLANDCOMPOSITOR_LIB @@ -81,32 +84,38 @@ QTextCharFormat format; switch (style) { - case 0: - case 1: + case ZWP_TEXT_INPUT_V2_PREEDIT_STYLE_NONE: + break; + case ZWP_TEXT_INPUT_V2_PREEDIT_STYLE_DEFAULT: + case ZWP_TEXT_INPUT_V2_PREEDIT_STYLE_UNDERLINE: format.setFontUnderline(true); format.setUnderlineStyle(QTextCharFormat::SingleUnderline); m_preeditStyles.append(QInputMethodEvent::Attribute(QInputMethodEvent::TextFormat, index, length, format)); break; - case 2: - case 3: + case ZWP_TEXT_INPUT_V2_PREEDIT_STYLE_ACTIVE: + case ZWP_TEXT_INPUT_V2_PREEDIT_STYLE_INACTIVE: format.setFontWeight(QFont::Bold); format.setFontUnderline(true); format.setUnderlineStyle(QTextCharFormat::SingleUnderline); m_preeditStyles.append(QInputMethodEvent::Attribute(QInputMethodEvent::TextFormat, index, length, format)); break; - case 4: - format.setFontUnderline(true); - format.setUnderlineStyle(QTextCharFormat::SingleUnderline); - m_preeditStyles.append(QInputMethodEvent::Attribute(QInputMethodEvent::TextFormat, index, length, format)); + case ZWP_TEXT_INPUT_V2_PREEDIT_STYLE_HIGHLIGHT: + case ZWP_TEXT_INPUT_V2_PREEDIT_STYLE_SELECTION: + { + format.setFontUnderline(true); + format.setUnderlineStyle(QTextCharFormat::SingleUnderline); + QPalette palette = qApp->palette(); + format.setBackground(QBrush(palette.color(QPalette::Active, QPalette::Highlight))); + format.setForeground(QBrush(palette.color(QPalette::Active, QPalette::HighlightedText))); + m_preeditStyles.append(QInputMethodEvent::Attribute(QInputMethodEvent::TextFormat, index, length, format)); + } break; - case 5: + case ZWP_TEXT_INPUT_V2_PREEDIT_STYLE_INCORRECT: format.setFontUnderline(true); format.setUnderlineStyle(QTextCharFormat::WaveUnderline); format.setUnderlineColor(QColor(Qt::red)); m_preeditStyles.append(QInputMethodEvent::Attribute(QInputMethodEvent::TextFormat, index, length, format)); break; -// case QtWayland::wl_text_input::preedit_style_selection: -// case QtWayland::wl_text_input::preedit_style_none: default: break; } @@ -151,9 +160,9 @@ { QList<QInputMethodEvent::Attribute> attributes; - if (m_preeditCursor <= 0) { + if (m_preeditCursor < 0) { attributes.append(QInputMethodEvent::Attribute(QInputMethodEvent::Cursor, 0, 0, QVariant())); - } else if (m_preeditCursor > 0) { + } else { attributes.append(QInputMethodEvent::Attribute(QInputMethodEvent::Cursor, indexFromWayland(text, m_preeditCursor), 1, QVariant())); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwayland-everywhere-src-5.15.2+kde44/tests/auto/client/shared/coreprotocol.h new/qtwayland-everywhere-src-5.15.2+kde54/tests/auto/client/shared/coreprotocol.h --- old/qtwayland-everywhere-src-5.15.2+kde44/tests/auto/client/shared/coreprotocol.h 2022-01-19 17:16:28.000000000 +0100 +++ new/qtwayland-everywhere-src-5.15.2+kde54/tests/auto/client/shared/coreprotocol.h 2022-02-22 16:30:48.000000000 +0100 @@ -158,7 +158,7 @@ { Q_OBJECT public: - explicit WlCompositor(CoreCompositor *compositor, int version = 3) + explicit WlCompositor(CoreCompositor *compositor, int version = 4) : QtWaylandServer::wl_compositor(compositor->m_display, version) , m_compositor(compositor) {} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwayland-everywhere-src-5.15.2+kde44/tests/auto/client/shared_old/mockcompositor.cpp new/qtwayland-everywhere-src-5.15.2+kde54/tests/auto/client/shared_old/mockcompositor.cpp --- old/qtwayland-everywhere-src-5.15.2+kde44/tests/auto/client/shared_old/mockcompositor.cpp 2022-01-19 17:16:28.000000000 +0100 +++ new/qtwayland-everywhere-src-5.15.2+kde54/tests/auto/client/shared_old/mockcompositor.cpp 2022-02-22 16:30:48.000000000 +0100 @@ -342,7 +342,7 @@ exit(EXIT_FAILURE); } - wl_global_create(m_display, &wl_compositor_interface, 1, this, bindCompositor); + wl_global_create(m_display, &wl_compositor_interface, 4, this, bindCompositor); m_data_device_manager.reset(new DataDeviceManager(this, m_display)); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwayland-everywhere-src-5.15.2+kde44/tests/auto/client/shared_old/mocksurface.cpp new/qtwayland-everywhere-src-5.15.2+kde54/tests/auto/client/shared_old/mocksurface.cpp --- old/qtwayland-everywhere-src-5.15.2+kde44/tests/auto/client/shared_old/mocksurface.cpp 2022-01-19 17:16:28.000000000 +0100 +++ new/qtwayland-everywhere-src-5.15.2+kde54/tests/auto/client/shared_old/mocksurface.cpp 2022-02-22 16:30:48.000000000 +0100 @@ -125,6 +125,16 @@ Q_UNUSED(height); } +void Surface::surface_damage_buffer(Resource *resource, + int32_t x, int32_t y, int32_t width, int32_t height) +{ + Q_UNUSED(resource); + Q_UNUSED(x); + Q_UNUSED(y); + Q_UNUSED(width); + Q_UNUSED(height); +} + void Surface::surface_frame(Resource *resource, uint32_t callback) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/qtwayland-everywhere-src-5.15.2+kde44/tests/auto/client/shared_old/mocksurface.h new/qtwayland-everywhere-src-5.15.2+kde54/tests/auto/client/shared_old/mocksurface.h --- old/qtwayland-everywhere-src-5.15.2+kde44/tests/auto/client/shared_old/mocksurface.h 2022-01-19 17:16:28.000000000 +0100 +++ new/qtwayland-everywhere-src-5.15.2+kde54/tests/auto/client/shared_old/mocksurface.h 2022-02-22 16:30:48.000000000 +0100 @@ -65,6 +65,8 @@ struct wl_resource *buffer, int x, int y) override; void surface_damage(Resource *resource, int32_t x, int32_t y, int32_t width, int32_t height) override; + void surface_damage_buffer(Resource *resource, + int32_t x, int32_t y, int32_t width, int32_t height) override; void surface_frame(Resource *resource, uint32_t callback) override; void surface_commit(Resource *resource) override; ++++++ qtwayland-everywhere-src.obsinfo ++++++ --- /var/tmp/diff_new_pack.rhowmp/_old 2022-02-24 18:19:01.090729397 +0100 +++ /var/tmp/diff_new_pack.rhowmp/_new 2022-02-24 18:19:01.098729395 +0100 @@ -1,6 +1,5 @@ name: qtwayland-everywhere-src -version: 5.15.2+kde44 -mtime: 1642608988 -commit: 4644d51f4b52e83fc1b4d02b380d80d9d57e76fa - +version: 5.15.2+kde54 +mtime: 1645543848 +commit: 8f0c9169310344c8f179311bae446239cdb61f68