Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package kwayland-server for openSUSE:Factory checked in at 2021-07-29 21:31:27 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kwayland-server (Old) and /work/SRC/openSUSE:Factory/.kwayland-server.new.1899 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kwayland-server" Thu Jul 29 21:31:27 2021 rev:23 rq:908707 version:5.22.4 Changes: -------- --- /work/SRC/openSUSE:Factory/kwayland-server/kwayland-server.changes 2021-07-09 23:57:30.921375545 +0200 +++ /work/SRC/openSUSE:Factory/.kwayland-server.new.1899/kwayland-server.changes 2021-07-29 21:32:21.608741796 +0200 @@ -1,0 +2,10 @@ +Tue Jul 27 12:34:53 UTC 2021 - Fabian Vogt <fab...@ritter-vogt.de> + +- Update to 5.22.4 + * New bugfix release + * For more details please see: + * https://kde.org/announcements/plasma/5/5.22.4 +- Changes since 5.22.3: + * Emit the committed() signal after the state is applied + +------------------------------------------------------------------- @@ -7 +17 @@ - * https://kde.org/announcements/plasma/5/5.22.2 + * https://kde.org/announcements/plasma/5/5.22.3 Old: ---- kwayland-server-5.22.3.tar.xz kwayland-server-5.22.3.tar.xz.sig New: ---- kwayland-server-5.22.4.tar.xz kwayland-server-5.22.4.tar.xz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kwayland-server.spec ++++++ --- /var/tmp/diff_new_pack.6HfB5v/_old 2021-07-29 21:32:22.092741200 +0200 +++ /var/tmp/diff_new_pack.6HfB5v/_new 2021-07-29 21:32:22.096741195 +0200 @@ -24,7 +24,7 @@ %bcond_without lang Name: kwayland-server -Version: 5.22.3 +Version: 5.22.4 Release: 0 Summary: KDE Wayland server library License: LGPL-2.1-or-later ++++++ kwayland-server-5.22.3.tar.xz -> kwayland-server-5.22.4.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-server-5.22.3/CMakeLists.txt new/kwayland-server-5.22.4/CMakeLists.txt --- old/kwayland-server-5.22.3/CMakeLists.txt 2021-07-06 12:20:46.000000000 +0200 +++ new/kwayland-server-5.22.4/CMakeLists.txt 2021-07-27 12:25:10.000000000 +0200 @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.16) -set(PROJECT_VERSION "5.22.3") +set(PROJECT_VERSION "5.22.4") set(PROJECT_VERSION_MAJOR 5) set(QT_MIN_VERSION "5.15.0") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-server-5.22.3/src/server/subcompositor_interface.cpp new/kwayland-server-5.22.4/src/server/subcompositor_interface.cpp --- old/kwayland-server-5.22.3/src/server/subcompositor_interface.cpp 2021-07-06 12:20:46.000000000 +0200 +++ new/kwayland-server-5.22.4/src/server/subcompositor_interface.cpp 2021-07-27 12:25:10.000000000 +0200 @@ -174,34 +174,17 @@ } mode = SubSurfaceInterface::Mode::Desynchronized; if (!q->isSynchronized()) { - synchronizedCommit(); + auto surfacePrivate = SurfaceInterfacePrivate::get(surface); + surfacePrivate->commitFromCache(); } Q_EMIT q->modeChanged(SubSurfaceInterface::Mode::Desynchronized); } void SubSurfaceInterfacePrivate::commit() { - SurfaceInterfacePrivate *surfacePrivate = SurfaceInterfacePrivate::get(surface); - - if (q->isSynchronized()) { - commitToCache(); - } else { - if (hasCacheState) { - commitToCache(); - commitFromCache(); - } else { - surfacePrivate->swapStates(&surfacePrivate->pending, &surfacePrivate->current, true); - } - - const QList<SubSurfaceInterface *> children = surfacePrivate->current.children; - for (SubSurfaceInterface *subsurface : children) { - SubSurfaceInterfacePrivate *subsurfacePrivate = SubSurfaceInterfacePrivate::get(subsurface); - subsurfacePrivate->parentCommit(); - } - } } -void SubSurfaceInterfacePrivate::parentCommit(bool synchronized) +void SubSurfaceInterfacePrivate::parentCommit() { if (hasPendingPosition) { hasPendingPosition = false; @@ -209,37 +192,12 @@ Q_EMIT q->positionChanged(position); } - if (synchronized || mode == SubSurfaceInterface::Mode::Synchronized) { - synchronizedCommit(); - } -} - -void SubSurfaceInterfacePrivate::synchronizedCommit() -{ - const SurfaceInterfacePrivate *surfacePrivate = SurfaceInterfacePrivate::get(surface); - commitFromCache(); - - const QList<SubSurfaceInterface *> children = surfacePrivate->current.children; - for (SubSurfaceInterface *subsurface : children) { - SubSurfaceInterfacePrivate *subsurfacePrivate = SubSurfaceInterfacePrivate::get(subsurface); - subsurfacePrivate->parentCommit(true); + if (mode == SubSurfaceInterface::Mode::Synchronized) { + auto surfacePrivate = SurfaceInterfacePrivate::get(surface); + surfacePrivate->commitFromCache(); } } -void SubSurfaceInterfacePrivate::commitToCache() -{ - SurfaceInterfacePrivate *surfacePrivate = SurfaceInterfacePrivate::get(surface); - surfacePrivate->swapStates(&surfacePrivate->pending, &surfacePrivate->cached, false); - hasCacheState = true; -} - -void SubSurfaceInterfacePrivate::commitFromCache() -{ - SurfaceInterfacePrivate *surfacePrivate = SurfaceInterfacePrivate::get(surface); - surfacePrivate->swapStates(&surfacePrivate->cached, &surfacePrivate->current, true); - hasCacheState = false; -} - SubSurfaceInterface::SubSurfaceInterface(SurfaceInterface *surface, SurfaceInterface *parent, wl_resource *resource) : d(new SubSurfaceInterfacePrivate(this, surface, parent, resource)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-server-5.22.3/src/server/subsurface_interface_p.h new/kwayland-server-5.22.4/src/server/subsurface_interface_p.h --- old/kwayland-server-5.22.3/src/server/subsurface_interface_p.h 2021-07-06 12:20:46.000000000 +0200 +++ new/kwayland-server-5.22.4/src/server/subsurface_interface_p.h 2021-07-27 12:25:10.000000000 +0200 @@ -41,12 +41,7 @@ SurfaceInterface *parent, ::wl_resource *resource); void commit() override; - - void parentCommit(bool synchronized = false); - void synchronizedCommit(); - - void commitToCache(); - void commitFromCache(); + void parentCommit(); SubSurfaceInterface *q; QPoint position = QPoint(0, 0); @@ -54,7 +49,6 @@ SubSurfaceInterface::Mode mode = SubSurfaceInterface::Mode::Synchronized; QPointer<SurfaceInterface> surface; QPointer<SurfaceInterface> parent; - bool hasCacheState = false; bool hasPendingPosition = false; protected: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-server-5.22.3/src/server/surface_interface.cpp new/kwayland-server-5.22.4/src/server/surface_interface.cpp --- old/kwayland-server-5.22.3/src/server/surface_interface.cpp 2021-07-06 12:20:46.000000000 +0200 +++ new/kwayland-server-5.22.4/src/server/surface_interface.cpp 2021-07-27 12:25:10.000000000 +0200 @@ -662,26 +662,51 @@ if (childrenChanged) { Q_EMIT q->childSubSurfacesChanged(); } + // The position of a sub-surface is applied when its parent is committed. + const QList<SubSurfaceInterface *> children = current.children; + for (SubSurfaceInterface *subsurface : children) { + auto subsurfacePrivate = SubSurfaceInterfacePrivate::get(subsurface); + subsurfacePrivate->parentCommit(); + } + if (role) { + role->commit(); + } + Q_EMIT q->committed(); } void SurfaceInterfacePrivate::commit() { - if (!subSurface) { + if (subSurface) { + commitSubSurface(); + } else { swapStates(&pending, ¤t, true); + } +} - // The position of a sub-surface is applied when its parent is committed. - const QList<SubSurfaceInterface *> children = current.children; - for (SubSurfaceInterface *subsurface : children) { - auto subsurfacePrivate = SubSurfaceInterfacePrivate::get(subsurface); - subsurfacePrivate->parentCommit(); +void SurfaceInterfacePrivate::commitSubSurface() +{ + if (subSurface->isSynchronized()) { + commitToCache(); + } else { + if (hasCacheState) { + commitToCache(); + commitFromCache(); + } else { + swapStates(&pending, ¤t, true); } } +} - if (role) { - role->commit(); - } +void SurfaceInterfacePrivate::commitToCache() +{ + swapStates(&pending, &cached, false); + hasCacheState = true; +} - Q_EMIT q->committed(); +void SurfaceInterfacePrivate::commitFromCache() +{ + swapStates(&cached, ¤t, true); + hasCacheState = false; } QRegion SurfaceInterface::damage() const diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kwayland-server-5.22.3/src/server/surface_interface_p.h new/kwayland-server-5.22.4/src/server/surface_interface_p.h --- old/kwayland-server-5.22.3/src/server/surface_interface_p.h 2021-07-06 12:20:46.000000000 +0200 +++ new/kwayland-server-5.22.4/src/server/surface_interface_p.h 2021-07-27 12:25:10.000000000 +0200 @@ -87,7 +87,11 @@ void installPointerConstraint(ConfinedPointerV1Interface *confinement); void installIdleInhibitor(IdleInhibitorV1Interface *inhibitor); + void commitToCache(); + void commitFromCache(); + void commit(); + void commitSubSurface(); QMatrix4x4 buildSurfaceToBufferMatrix(const State *state); void swapStates(State *source, State *target, bool emitChanged); @@ -103,6 +107,7 @@ QMatrix4x4 bufferToSurfaceMatrix; QSize bufferSize; QRegion inputRegion; + bool hasCacheState = false; // workaround for https://bugreports.qt.io/browse/QTBUG-52192 // A subsurface needs to be considered mapped even if it doesn't have a buffer attached