summaryrefslogtreecommitdiff
path: root/kde-plasma/kwayland-server/files/kwayland-server-5.24.4-fix-crash-on-screen-setup-change.patch
diff options
context:
space:
mode:
Diffstat (limited to 'kde-plasma/kwayland-server/files/kwayland-server-5.24.4-fix-crash-on-screen-setup-change.patch')
-rw-r--r--kde-plasma/kwayland-server/files/kwayland-server-5.24.4-fix-crash-on-screen-setup-change.patch109
1 files changed, 0 insertions, 109 deletions
diff --git a/kde-plasma/kwayland-server/files/kwayland-server-5.24.4-fix-crash-on-screen-setup-change.patch b/kde-plasma/kwayland-server/files/kwayland-server-5.24.4-fix-crash-on-screen-setup-change.patch
deleted file mode 100644
index 4ddd9737e759..000000000000
--- a/kde-plasma/kwayland-server/files/kwayland-server-5.24.4-fix-crash-on-screen-setup-change.patch
+++ /dev/null
@@ -1,109 +0,0 @@
-From 40364d2ee670a5a74318ef96c643762293ca95f0 Mon Sep 17 00:00:00 2001
-From: Vlad Zahorodnii <vlad.zahorodnii@kde.org>
-Date: Fri, 8 Apr 2022 12:44:33 +0300
-Subject: [PATCH] Simplify code that announces available modes and current mode
-
-If no mode has the current flag set, the first mode object will be
-announced twice.
-
-There's also no benefit from sending the current mode as last. If the
-current mode changes, the compositor will send the current_mode event,
-not the mode event.
-
-BUG: 452318
-
-
-(cherry picked from commit b40c4e3f4108b9a0be9b4f5d437e72f7c2aa3fea)
----
- src/server/outputdevice_v2_interface.cpp | 35 ++++++++----------------
- 1 file changed, 11 insertions(+), 24 deletions(-)
-
-diff --git a/src/server/outputdevice_v2_interface.cpp b/src/server/outputdevice_v2_interface.cpp
-index 31ab16ca..9093bd2f 100644
---- a/src/server/outputdevice_v2_interface.cpp
-+++ b/src/server/outputdevice_v2_interface.cpp
-@@ -31,7 +31,7 @@ public:
-
- 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 @@ void OutputDeviceV2Interface::setCurrentMode(OutputDeviceModeV2Interface *mode)
- 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 @@ void OutputDeviceV2InterfacePrivate::kde_output_device_v2_bind_resource(Resource
- 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 @@ wl_resource *OutputDeviceV2InterfacePrivate::sendNewMode(Resource *resource, Out
- 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 @@ void OutputDeviceV2Interface::setModes(const QList<OutputDeviceModeV2Interface *
- 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 @@ void OutputDeviceV2Interface::setModes(const QList<OutputDeviceModeV2Interface *
- }
-
- for (auto resource : clientResources) {
-- d->sendNewMode(resource, d->currentMode);
-- d->sendCurrentMode(resource, d->currentMode);
-+ d->sendCurrentMode(resource);
- }
-
- qDeleteAll(oldModes.crbegin(), oldModes.crend());
---
-GitLab
-