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 2022-05-05 23:04:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/kwayland-server (Old)
and /work/SRC/openSUSE:Factory/.kwayland-server.new.1538 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kwayland-server"
Thu May 5 23:04:55 2022 rev:36 rq:974700 version:5.24.5
Changes:
--------
--- /work/SRC/openSUSE:Factory/kwayland-server/kwayland-server.changes
2022-04-01 21:35:29.477901555 +0200
+++
/work/SRC/openSUSE:Factory/.kwayland-server.new.1538/kwayland-server.changes
2022-05-05 23:05:08.361463377 +0200
@@ -1,0 +2,14 @@
+Tue May 3 13:00:21 UTC 2022 - Fabian Vogt <[email protected]>
+
+- Update to 5.24.5
+ * New bugfix release
+ * For more details please see:
+ * https://kde.org/announcements/plasma/5/5.24.5
+- Changes since 5.24.4:
+ * outputconfigurationinterface: don't crash if mode is invalid (kde#453042)
+ * Fix race in wp_drm_lease_v1.
+ * Simplify code that announces available modes and current mode (kde#452318)
+ * Guard subsurface parent access. (kde#452044)
+ * Fix layer shell reset
+
+-------------------------------------------------------------------
Old:
----
kwayland-server-5.24.4.tar.xz
kwayland-server-5.24.4.tar.xz.sig
New:
----
kwayland-server-5.24.5.tar.xz
kwayland-server-5.24.5.tar.xz.sig
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kwayland-server.spec ++++++
--- /var/tmp/diff_new_pack.zN6CM0/_old 2022-05-05 23:05:08.913464066 +0200
+++ /var/tmp/diff_new_pack.zN6CM0/_new 2022-05-05 23:05:08.921464076 +0200
@@ -24,7 +24,7 @@
%bcond_without released
Name: kwayland-server
-Version: 5.24.4
+Version: 5.24.5
Release: 0
Summary: KDE Wayland server library
License: LGPL-2.1-or-later
++++++ kwayland-server-5.24.4.tar.xz -> kwayland-server-5.24.5.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/kwayland-server-5.24.4/CMakeLists.txt
new/kwayland-server-5.24.5/CMakeLists.txt
--- old/kwayland-server-5.24.4/CMakeLists.txt 2022-03-29 13:23:12.000000000
+0200
+++ new/kwayland-server-5.24.5/CMakeLists.txt 2022-05-03 12:11:15.000000000
+0200
@@ -2,7 +2,7 @@
set(CMAKE_C_STANDARD 99)
-set(PROJECT_VERSION "5.24.4")
+set(PROJECT_VERSION "5.24.5")
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.24.4/src/server/drmleasedevice_v1_interface.cpp
new/kwayland-server-5.24.5/src/server/drmleasedevice_v1_interface.cpp
--- old/kwayland-server-5.24.4/src/server/drmleasedevice_v1_interface.cpp
2022-03-29 13:23:12.000000000 +0200
+++ new/kwayland-server-5.24.5/src/server/drmleasedevice_v1_interface.cpp
2022-05-03 12:11:15.000000000 +0200
@@ -84,10 +84,6 @@
request->connectors.clear();
}
globalRemove();
- removed = true;
- if (resourceMap().isEmpty()) {
- delete this;
- }
}
void
DrmLeaseDeviceV1InterfacePrivate::registerConnector(DrmLeaseConnectorV1Interface
*connector)
@@ -144,6 +140,9 @@
void
DrmLeaseDeviceV1InterfacePrivate::wp_drm_lease_device_v1_bind_resource(Resource
*resource)
{
+ if (isGlobalRemoved()) {
+ return;
+ }
if (!hasDrmMaster) {
pendingFds << resource->handle;
return;
@@ -161,12 +160,9 @@
}
}
-void
DrmLeaseDeviceV1InterfacePrivate::wp_drm_lease_device_v1_destroy_resource(Resource
*resource)
+void DrmLeaseDeviceV1InterfacePrivate::wp_drm_lease_device_v1_destroy_global()
{
- Q_UNUSED(resource)
- if (removed && resourceMap().isEmpty()) {
- delete this;
- }
+ delete this;
}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/kwayland-server-5.24.4/src/server/drmleasedevice_v1_interface_p.h
new/kwayland-server-5.24.5/src/server/drmleasedevice_v1_interface_p.h
--- old/kwayland-server-5.24.4/src/server/drmleasedevice_v1_interface_p.h
2022-03-29 13:23:12.000000000 +0200
+++ new/kwayland-server-5.24.5/src/server/drmleasedevice_v1_interface_p.h
2022-05-03 12:11:15.000000000 +0200
@@ -44,7 +44,7 @@
void wp_drm_lease_device_v1_create_lease_request(Resource *resource,
uint32_t id) override;
void wp_drm_lease_device_v1_release(Resource *resource) override;
void wp_drm_lease_device_v1_bind_resource(Resource *resource) override;
- void wp_drm_lease_device_v1_destroy_resource(Resource *resource) override;
+ void wp_drm_lease_device_v1_destroy_global() override;
};
class DrmLeaseConnectorV1InterfacePrivate : public QObject, public
QtWaylandServer::wp_drm_lease_connector_v1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/kwayland-server-5.24.4/src/server/layershell_v1_interface.cpp
new/kwayland-server-5.24.5/src/server/layershell_v1_interface.cpp
--- old/kwayland-server-5.24.4/src/server/layershell_v1_interface.cpp
2022-03-29 13:23:12.000000000 +0200
+++ new/kwayland-server-5.24.5/src/server/layershell_v1_interface.cpp
2022-05-03 12:11:15.000000000 +0200
@@ -69,6 +69,7 @@
bool isClosed = false;
bool isConfigured = false;
bool isCommitted = false;
+ bool firstBufferAttached = false;
protected:
void zwlr_layer_surface_v1_destroy_resource(Resource *resource) override;
@@ -290,8 +291,10 @@
return;
}
- if (!surface->isMapped() && isCommitted) {
+ // detect reset
+ if (!surface->isMapped() && firstBufferAttached) {
isCommitted = false;
+ firstBufferAttached = false;
isConfigured = false;
current = LayerSurfaceV1State();
@@ -303,6 +306,9 @@
const LayerSurfaceV1State previous = std::exchange(current, pending);
isCommitted = true; // Must set the committed state before emitting any
signals.
+ if (surface->isMapped()) {
+ firstBufferAttached = true;
+ }
if (previous.acceptsFocus != current.acceptsFocus) {
Q_EMIT q->acceptsFocusChanged();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/kwayland-server-5.24.4/src/server/outputconfiguration_v2_interface.cpp
new/kwayland-server-5.24.5/src/server/outputconfiguration_v2_interface.cpp
--- old/kwayland-server-5.24.4/src/server/outputconfiguration_v2_interface.cpp
2022-03-29 13:23:12.000000000 +0200
+++ new/kwayland-server-5.24.5/src/server/outputconfiguration_v2_interface.cpp
2022-05-03 12:11:15.000000000 +0200
@@ -64,6 +64,9 @@
Q_UNUSED(resource)
OutputDeviceV2Interface *output =
OutputDeviceV2Interface::get(outputdevice);
OutputDeviceModeV2Interface *mode =
OutputDeviceModeV2Interface::get(modeResource);
+ if (!mode) {
+ return;
+ }
pendingChanges(output)->d->size = mode->size();
pendingChanges(output)->d->refreshRate = mode->refreshRate();
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/kwayland-server-5.24.4/src/server/outputdevice_v2_interface.cpp
new/kwayland-server-5.24.5/src/server/outputdevice_v2_interface.cpp
--- old/kwayland-server-5.24.4/src/server/outputdevice_v2_interface.cpp
2022-03-29 13:23:12.000000000 +0200
+++ new/kwayland-server-5.24.5/src/server/outputdevice_v2_interface.cpp
2022-05-03 12:11:15.000000000 +0200
@@ -31,7 +31,7 @@
void sendGeometry(Resource *resource);
wl_resource *sendNewMode(Resource *resource, OutputDeviceModeV2Interface
*mode);
- void sendCurrentMode(Resource *resource, OutputDeviceModeV2Interface
*mode);
+ void sendCurrentMode(Resource *resource);
void sendDone(Resource *resource);
void sendUuid(Resource *resource);
void sendEdid(Resource *resource);
@@ -180,7 +180,7 @@
const auto clientResources = d->resourceMap();
for (auto it = clientResources.begin(); it != clientResources.end(); ++it)
{
auto resource = *it;
- d->sendCurrentMode(resource, d->currentMode);
+ d->sendCurrentMode(resource);
d->sendDone(resource);
}
d->updateGeometry();
@@ -257,22 +257,10 @@
sendName(resource);
sendSerialNumber(resource);
- auto currentModeIt = modes.end();
- for (auto it = modes.begin(); it != modes.end(); ++it) {
- auto &mode = *it;
- if
(mode->flags().testFlag(OutputDeviceModeV2Interface::ModeFlag::Current)) {
- // needs to be sent as last mode
- currentModeIt = it;
- continue;
- }
+ for (OutputDeviceModeV2Interface *mode : std::as_const(modes)) {
sendNewMode(resource, mode);
}
-
- if (currentModeIt != modes.end()) {
- auto modeResource = sendNewMode(resource, *currentModeIt);
- send_current_mode(resource->handle, modeResource);
- }
-
+ sendCurrentMode(resource);
sendUuid(resource);
sendEdid(resource);
sendEnabled(resource);
@@ -296,9 +284,9 @@
return modeResource->handle;
}
-void OutputDeviceV2InterfacePrivate::sendCurrentMode(Resource *outputResource,
OutputDeviceModeV2Interface *mode)
+void OutputDeviceV2InterfacePrivate::sendCurrentMode(Resource *outputResource)
{
- const auto modeResource =
OutputDeviceModeV2InterfacePrivate::get(mode)->findResource(outputResource);
+ const auto modeResource =
OutputDeviceModeV2InterfacePrivate::get(currentMode)->findResource(outputResource);
send_current_mode(outputResource->handle, modeResource->handle);
}
@@ -506,12 +494,12 @@
d->modes << outputDeviceMode;
outputDeviceMode->setParent(this);
+ for (auto resource : clientResources) {
+ d->sendNewMode(resource, outputDeviceMode);
+ }
+
if
(outputDeviceMode->flags().testFlag(OutputDeviceModeV2Interface::ModeFlag::Current))
{
d->currentMode = outputDeviceMode;
- } else {
- for (auto resource : clientResources) {
- d->sendNewMode(resource, outputDeviceMode);
- }
}
}
@@ -520,8 +508,7 @@
}
for (auto resource : clientResources) {
- d->sendNewMode(resource, d->currentMode);
- d->sendCurrentMode(resource, d->currentMode);
+ d->sendCurrentMode(resource);
}
qDeleteAll(oldModes.crbegin(), oldModes.crend());
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore'
old/kwayland-server-5.24.4/src/server/surface_interface.cpp
new/kwayland-server-5.24.5/src/server/surface_interface.cpp
--- old/kwayland-server-5.24.4/src/server/surface_interface.cpp 2022-03-29
13:23:12.000000000 +0200
+++ new/kwayland-server-5.24.5/src/server/surface_interface.cpp 2022-05-03
12:11:15.000000000 +0200
@@ -678,7 +678,13 @@
bool SurfaceInterfacePrivate::computeEffectiveMapped() const
{
- return bufferRef && (!subSurface ||
subSurface->parentSurface()->isMapped());
+ if (!bufferRef) {
+ return false;
+ }
+ if (subSurface) {
+ return subSurface->parentSurface() &&
subSurface->parentSurface()->isMapped();
+ }
+ return true;
}
void SurfaceInterfacePrivate::updateEffectiveMapped()