diff options
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.patch | 109 |
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 - |