diff options
author | Patrick J Volkerding <volkerdi@slackware.com> | 2021-12-07 21:02:41 +0000 |
---|---|---|
committer | Eric Hameleers <alien@slackware.com> | 2021-12-08 08:59:52 +0100 |
commit | 05c9b4b9d66f98f4603c8383ddb2b22f485b8269 (patch) | |
tree | da9fc9f6acca9b67079d09d5e42d7dec0035f84d /source/kde/kde/patch/kscreen | |
parent | 98305afe736482e41db5c6d17ac94abe411bee86 (diff) | |
download | current-05c9b4b9d66f98f4603c8383ddb2b22f485b8269.tar.gz current-05c9b4b9d66f98f4603c8383ddb2b22f485b8269.tar.xz |
Tue Dec 7 21:02:41 UTC 202120211207210241
ap/vim-8.2.3754-x86_64-1.txz: Upgraded.
d/Cython-0.29.25-x86_64-1.txz: Upgraded.
d/rust-1.57.0-x86_64-1.txz: Upgraded.
kde/kscreen-5.23.4-x86_64-2.txz: Rebuilt.
Applied upstream patches:
[PATCH 1/4] Compute logicalSize taking into account current config.
[PATCH 2/4] Update screen size when mode changes.
[PATCH 3/4] Ensure to set outputs explicitLogicalSize upon loading config.
[PATCH 4/4] Fix output identifier window positioning in wayland with some
scale.
Thanks to Heinz Wiesinger.
kde/libkscreen-5.23.4-x86_64-2.txz: Rebuilt.
Applied upstream patches:
[PATCH] XrandR: Fix impossibilty to change resolution in VirtualBox.
[PATCH] Under X11 ignore per-screen scale to compute logicalSize.
Thanks to Heinz Wiesinger.
l/glib-networking-2.70.1-x86_64-1.txz: Upgraded.
l/imagemagick-7.1.0_17-x86_64-1.txz: Upgraded.
l/vte-0.66.2-x86_64-1.txz: Upgraded.
n/dovecot-2.3.17.1-x86_64-1.txz: Upgraded.
xap/mozilla-firefox-91.4.0esr-x86_64-1.txz: Upgraded.
This release contains security fixes and improvements.
For more information, see:
https://www.mozilla.org/en-US/firefox/91.4.0/releasenotes/
https://www.mozilla.org/security/advisories/mfsa2021-53/
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-43536
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-43537
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-43538
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-43539
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-43541
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-43542
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-43543
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-43545
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-43546
https://bugzilla.mozilla.org/show_bug.cgi?id=1737751
(* Security fix *)
xap/vim-gvim-8.2.3754-x86_64-1.txz: Upgraded.
Diffstat (limited to 'source/kde/kde/patch/kscreen')
-rw-r--r-- | source/kde/kde/patch/kscreen/57.patch | 189 |
1 files changed, 189 insertions, 0 deletions
diff --git a/source/kde/kde/patch/kscreen/57.patch b/source/kde/kde/patch/kscreen/57.patch new file mode 100644 index 000000000..bb8befc91 --- /dev/null +++ b/source/kde/kde/patch/kscreen/57.patch @@ -0,0 +1,189 @@ +From 4d025b68022405ce889b563ed67646ccbfe4a658 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?M=C3=A9ven=20Car?= <meven.car@enioka.com> +Date: Mon, 29 Nov 2021 17:15:26 +0100 +Subject: [PATCH 1/4] Compute logicalSize taking into account current config + +BUG: 441417 +--- + kcm/output_identifier.cpp | 2 +- + kcm/output_model.cpp | 23 +++++++++++++++-------- + kded/output.cpp | 4 ++-- + 3 files changed, 18 insertions(+), 11 deletions(-) + +diff --git a/kcm/output_identifier.cpp b/kcm/output_identifier.cpp +index a672995..ba51470 100644 +--- a/kcm/output_identifier.cpp ++++ b/kcm/output_identifier.cpp +@@ -56,7 +56,7 @@ OutputIdentifier::OutputIdentifier(KScreen::ConfigPtr config, QObject *parent) + } + if (config->supportedFeatures() & KScreen::Config::Feature::PerOutputScaling) { + // Scale adjustment is not needed on Wayland, we use logical size. +- logicalSize = output->logicalSize().toSize(); ++ logicalSize = output->explicitLogicalSize().toSize(); + } else { + logicalSize = deviceSize / view->effectiveDevicePixelRatio(); + } +diff --git a/kcm/output_model.cpp b/kcm/output_model.cpp +index a497c90..020b96f 100644 +--- a/kcm/output_model.cpp ++++ b/kcm/output_model.cpp +@@ -161,10 +161,13 @@ bool OutputModel::setData(const QModelIndex &index, const QVariant &value, int r + bool ok; + const qreal scale = value.toReal(&ok); + if (ok && !qFuzzyCompare(output.ptr->scale(), scale)) { +- const auto oldSize = output.ptr->logicalSize().toSize(); ++ const auto oldSize = output.ptr->explicitLogicalSize().toSize(); ++ + output.ptr->setScale(scale); + m_config->setScale(output.ptr, scale); +- const auto newSize = output.ptr->logicalSize().toSize(); ++ ++ const auto newSize = m_config->config()->logicalSizeForOutput(*output.ptr).toSize(); ++ output.ptr->setExplicitLogicalSize(newSize); + + maintainSnapping(output, oldSize, newSize); + +@@ -385,9 +388,11 @@ bool OutputModel::setResolution(int outputIndex, int resIndex) + if (output.ptr->currentModeId() == id) { + return false; + } +- const auto oldSize = output.ptr->logicalSize().toSize(); ++ const auto oldSize = output.ptr->explicitLogicalSize().toSize(); + output.ptr->setCurrentModeId(id); +- const auto newSize = output.ptr->logicalSize().toSize(); ++ ++ const auto newSize = m_config->config()->logicalSizeForOutput(*output.ptr).toSize(); ++ output.ptr->setExplicitLogicalSize(newSize); + + maintainSnapping(output, oldSize, newSize); + +@@ -466,9 +471,11 @@ bool OutputModel::setRotation(int outputIndex, KScreen::Output::Rotation rotatio + if (output.ptr->rotation() == rotation) { + return false; + } +- const auto oldSize = output.ptr->logicalSize().toSize(); ++ const auto oldSize = output.ptr->explicitLogicalSize().toSize(); + output.ptr->setRotation(rotation); +- const auto newSize = output.ptr->logicalSize().toSize(); ++ ++ const auto newSize = m_config->config()->logicalSizeForOutput(*output.ptr).toSize(); ++ output.ptr->setExplicitLogicalSize(newSize); + + maintainSnapping(output, oldSize, newSize); + +@@ -653,7 +660,7 @@ bool OutputModel::setReplicationSourceIndex(int outputIndex, int sourceIndex) + return false; + } + m_config->setReplicationSource(output.ptr, nullptr); +- output.ptr->setLogicalSize(QSizeF()); ++ output.ptr->setExplicitLogicalSize(QSizeF()); + resetPosition(output); + } else { + const auto source = m_outputs[sourceIndex].ptr; +@@ -664,7 +671,7 @@ bool OutputModel::setReplicationSourceIndex(int outputIndex, int sourceIndex) + m_config->setReplicationSource(output.ptr, source); + output.posReset = output.ptr->pos(); + output.ptr->setPos(source->pos()); +- output.ptr->setLogicalSize(source->logicalSize()); ++ output.ptr->setExplicitLogicalSize(m_config->config()->logicalSizeForOutput(*source)); + } + + reposition(); +diff --git a/kded/output.cpp b/kded/output.cpp +index 7463b8a..44251e5 100644 +--- a/kded/output.cpp ++++ b/kded/output.cpp +@@ -404,9 +404,9 @@ void Output::readInOutputs(KScreen::ConfigPtr config, const QVariantList &output + auto replicationSource = control.getReplicationSource(output); + if (replicationSource) { + output->setPos(replicationSource->pos()); +- output->setLogicalSize(replicationSource->logicalSize()); ++ output->setExplicitLogicalSize(config->logicalSizeForOutput(*replicationSource)); + } else { +- output->setLogicalSize(QSizeF()); ++ output->setExplicitLogicalSize(QSizeF()); + } + } + +-- +GitLab + + +From 3b90217f21e62285e78fff86ae562c692799e28f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?M=C3=A9ven=20Car?= <meven.car@enioka.com> +Date: Tue, 30 Nov 2021 14:58:40 +0100 +Subject: [PATCH 2/4] Update screen size when mode changes + +--- + kcm/output_model.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/kcm/output_model.cpp b/kcm/output_model.cpp +index 020b96f..ae01307 100644 +--- a/kcm/output_model.cpp ++++ b/kcm/output_model.cpp +@@ -390,6 +390,7 @@ bool OutputModel::setResolution(int outputIndex, int resIndex) + } + const auto oldSize = output.ptr->explicitLogicalSize().toSize(); + output.ptr->setCurrentModeId(id); ++ output.ptr->setSize(output.ptr->currentMode()->size()); + + const auto newSize = m_config->config()->logicalSizeForOutput(*output.ptr).toSize(); + output.ptr->setExplicitLogicalSize(newSize); +-- +GitLab + + +From ad8d66c2c39c15a9fd668a0a292f4cd970731123 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?M=C3=A9ven=20Car?= <meven.car@enioka.com> +Date: Wed, 1 Dec 2021 13:39:21 +0100 +Subject: [PATCH 3/4] Ensure to set outputs explicitLogicalSize upon loading + config + +--- + kcm/config_handler.cpp | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/kcm/config_handler.cpp b/kcm/config_handler.cpp +index d7e7c7c..dabbcb2 100644 +--- a/kcm/config_handler.cpp ++++ b/kcm/config_handler.cpp +@@ -78,6 +78,8 @@ void ConfigHandler::resetScale(const KScreen::OutputPtr &output) + + void ConfigHandler::initOutput(const KScreen::OutputPtr &output) + { ++ output->setExplicitLogicalSize(config()->logicalSizeForOutput(*output)); ++ + if (output->isConnected()) { + resetScale(output); + m_outputs->add(output); +-- +GitLab + + +From ad7dda0b64c6f76066cdd199b0aa6ed2e2982f88 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?M=C3=A9ven=20Car?= <meven.car@enioka.com> +Date: Wed, 1 Dec 2021 14:40:32 +0100 +Subject: [PATCH 4/4] Fix output identifier window positioning in wayland with + some scale + +--- + kcm/output_identifier.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/kcm/output_identifier.cpp b/kcm/output_identifier.cpp +index ba51470..d21d36f 100644 +--- a/kcm/output_identifier.cpp ++++ b/kcm/output_identifier.cpp +@@ -56,7 +56,7 @@ OutputIdentifier::OutputIdentifier(KScreen::ConfigPtr config, QObject *parent) + } + if (config->supportedFeatures() & KScreen::Config::Feature::PerOutputScaling) { + // Scale adjustment is not needed on Wayland, we use logical size. +- logicalSize = output->explicitLogicalSize().toSize(); ++ logicalSize = config->logicalSizeForOutput(*output.data()).toSize(); + } else { + logicalSize = deviceSize / view->effectiveDevicePixelRatio(); + } +-- +GitLab + |