diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2020-09-30 17:27:54 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2020-09-30 17:27:54 +0100 |
commit | f70a1bfc721336d4fc7dfb711c2f518a6b18cf16 (patch) | |
tree | e907cb121b30e3c1df1710719c0ddf4029597a47 /kde-frameworks | |
parent | db063b515939ab15261136b24e4bc44386335c0c (diff) |
gentoo resync : 30.09.2020
Diffstat (limited to 'kde-frameworks')
21 files changed, 750 insertions, 7 deletions
diff --git a/kde-frameworks/Manifest.gz b/kde-frameworks/Manifest.gz Binary files differindex b27037491c4b..455fa531eec4 100644 --- a/kde-frameworks/Manifest.gz +++ b/kde-frameworks/Manifest.gz diff --git a/kde-frameworks/kdeclarative/Manifest b/kde-frameworks/kdeclarative/Manifest index 31ffbc523430..316ed1c8becc 100644 --- a/kde-frameworks/kdeclarative/Manifest +++ b/kde-frameworks/kdeclarative/Manifest @@ -1,5 +1,6 @@ +AUX kdeclarative-5.74.0-block-shortcuts-when-recording-key-sequences.patch 3597 BLAKE2B 366b97d001781e6c471db9cf01c1a11e3c2c22afa78fe9fcf6bf15b456146c5d0c700f6f458d36ca5c7b1c437e2f88418a787fd84d9dd3d08b69bd33d2c482e9 SHA512 e9dddeb06e8776cfbba8de37362a3decdfa103aed0a0bcf8565833d96b4d583986d63d331cd1f5ed8ee3c423dcff784ff361fa4e4019f5ed48b28773f6eb4803 DIST kdeclarative-5.70.0.tar.xz 175644 BLAKE2B cbf1c33a8798aca1ed78bc77aedf5ba7988622de939727f6452facb271ac98801f8875fb5a33bfb6ee058263216e88eb87be5e4134bcafb032035af0dbb069ed SHA512 c974edf29cf5e02ce01bd0e158c1ee25ede8bac192d30d1398afa680420de05e0a8f4ba1b7f74577b6fd9c3e41d4bb5f7ec2730eddf1834b79dcda623b5f6714 DIST kdeclarative-5.74.0.tar.xz 190360 BLAKE2B cf4ac587189c4f6fba6a13eaea4eea95e7e8aacf902c8ed809fac03f5ca76c9e42eff9fa74c1dfb0d0618c71bd4109a1c6b8f6964b242659757efadcc149ddb5 SHA512 8428a60146275dff201518764678bb7c5acce473bcfa584ea1b4924db485ade1b45e55f3aa758fbcf326b15e0e24dcb0913fbabbedd795b7b47e3b3f7e897f78 EBUILD kdeclarative-5.70.0.ebuild 949 BLAKE2B adbd8cfbf9991458690cf378cccac33d8f6b87df6859224f2c3099011763c48c3acbad2a89292c19b94ea68ddcb7b9ffa526f107e55264231a2143be69aba15f SHA512 dde8be85b85a1fd983e098627f5373d114eef1d6a2e4a6f6c99c6581da0837abfe4c8c39a20ad16f9ee944c9636b0b3c75a87b38918553e47f151d6dc7d9b27f -EBUILD kdeclarative-5.74.0.ebuild 996 BLAKE2B e60f5611affbb10f142e4694a7678fee3d09d59d7301564cbbb8746a425a47290d67b79c5fe20da1e010905865d2ac8bbfa3fef4f468047b12dc584e9e5198e3 SHA512 4896c21762d7d33047fd420bd08679e16151e5de23031d7a6bc19b2b06bbfef04df6af495feb1802351e95df981b532774a3b75ed20197cbc938f405e8b082ff +EBUILD kdeclarative-5.74.0-r1.ebuild 1080 BLAKE2B b2ac3fde03915e443c114eb3238a4ddcc9a81c66ee57162845b72a96e19a661c0cc043634bf571bd3774c98f6be28ecab3ce5d6568a3bb410496ee87b389f3d7 SHA512 68dba207b9dcb85f64ebcc72370d4b7831634574cea71543d910ba816d069353f3c4dea62f63a5d6681d040fa6ff95a44fdfa4c7fd3008fa4a14f574ab727cf9 MISC metadata.xml 249 BLAKE2B ad415db89e5dee1627aa77f44ded9d4e1e5b8217d06c7ca25bbaa3fe92ce67c2b1090957c45a821b407d7927e5af798498aa6a5b903895ee1af8ee20a446c7f7 SHA512 76a5a340b13f0053ca3c5e94ed24380ea8d29b45ac8655419e22eaadb1e4a827c04d2e7e36b65145c4964e6526f656618fc6ac144e277ef53cb7373e6239e3c3 diff --git a/kde-frameworks/kdeclarative/files/kdeclarative-5.74.0-block-shortcuts-when-recording-key-sequences.patch b/kde-frameworks/kdeclarative/files/kdeclarative-5.74.0-block-shortcuts-when-recording-key-sequences.patch new file mode 100644 index 000000000000..66808f910bf0 --- /dev/null +++ b/kde-frameworks/kdeclarative/files/kdeclarative-5.74.0-block-shortcuts-when-recording-key-sequences.patch @@ -0,0 +1,104 @@ +From 88aabf069a0e454777c15227126732a04c8cb8b2 Mon Sep 17 00:00:00 2001 +From: David Edmundson <kde@davidedmundson.co.uk> +Date: Fri, 18 Sep 2020 00:13:07 +0100 +Subject: [PATCH] Block shortcuts when recording key sequences + +Otherwise you can't select alt+a as a shortcut without triggering the +nmenomic generated shortcut on the "add application" button. + +Testing done: +- clicked "Add custom shortcut", pressed alt+a, it was recorded +successfully + +- focussed "Add custom shortcut", pressed alt+a, the relevant shortcut +activated + +Note that isRecording was already declared, but not defined, which is +why it looks like my diff misses something. + +BUG: 425979 +--- + src/qmlcontrols/kquickcontrols/KeySequenceItem.qml | 7 +++++++ + .../kquickcontrols/private/keysequencehelper.cpp | 8 +++++++- + .../kquickcontrols/private/keysequencehelper.h | 7 +++++++ + 3 files changed, 21 insertions(+), 1 deletion(-) + +diff --git a/src/qmlcontrols/kquickcontrols/KeySequenceItem.qml b/src/qmlcontrols/kquickcontrols/KeySequenceItem.qml +index 9d8e035..d1fbc02 100644 +--- a/src/qmlcontrols/kquickcontrols/KeySequenceItem.qml ++++ b/src/qmlcontrols/kquickcontrols/KeySequenceItem.qml +@@ -83,6 +83,13 @@ RowLayout { + } + } + ++ Keys.onShortcutOverride: { ++ if (_helper.isRecording) { ++ _helper.keyPressed(event.key, event.modifiers); ++ event.accepted = true; ++ } ++ } ++ + Keys.onPressed: { + _helper.keyPressed(event.key, event.modifiers); + event.accepted = true; +diff --git a/src/qmlcontrols/kquickcontrols/private/keysequencehelper.cpp b/src/qmlcontrols/kquickcontrols/private/keysequencehelper.cpp +index ba7ce01..26b0331 100644 +--- a/src/qmlcontrols/kquickcontrols/private/keysequencehelper.cpp ++++ b/src/qmlcontrols/kquickcontrols/private/keysequencehelper.cpp +@@ -237,7 +237,10 @@ void KeySequenceHelper::setCheckAgainstShortcutTypes(KeySequenceHelper::Shortcut + Q_EMIT checkAgainstShortcutTypesChanged(); + } + +- ++bool KeySequenceHelper::isRecording() const ++{ ++ return d->isRecording; ++} + + void KeySequenceHelper::clearKeySequence() + { +@@ -251,6 +254,7 @@ void KeySequenceHelperPrivate::startRecording() + oldKeySequence = keySequence; + keySequence = QKeySequence(); + isRecording = true; ++ emit q->isRecordingChanged(); + grabbedWindow = QQuickRenderControl::renderWindowFor(q->window()); + if (!grabbedWindow) { + grabbedWindow = q->window(); +@@ -265,6 +269,8 @@ void KeySequenceHelper::doneRecording() + { + d->modifierlessTimeout.stop(); + d->isRecording = false; ++ emit isRecordingChanged(); ++ + d->stealActions.clear(); + if (d->grabbedWindow) { + d->grabbedWindow->setKeyboardGrabEnabled(false); +diff --git a/src/qmlcontrols/kquickcontrols/private/keysequencehelper.h b/src/qmlcontrols/kquickcontrols/private/keysequencehelper.h +index c9068e8..daeedc5 100644 +--- a/src/qmlcontrols/kquickcontrols/private/keysequencehelper.h ++++ b/src/qmlcontrols/kquickcontrols/private/keysequencehelper.h +@@ -51,6 +51,12 @@ class KeySequenceHelper : public QQuickItem + NOTIFY checkAgainstShortcutTypesChanged + ) + ++ Q_PROPERTY( ++ bool isRecording ++ READ isRecording ++ NOTIFY isRecordingChanged ++ ) ++ + public: + + enum ShortcutType { +@@ -116,6 +122,7 @@ Q_SIGNALS: + void shortcutDisplayChanged(const QString &string); + void captureFinished(); + void checkAgainstShortcutTypesChanged(); ++ void isRecordingChanged(); + + public Q_SLOTS: + void captureKeySequence(); +-- +GitLab + diff --git a/kde-frameworks/kdeclarative/kdeclarative-5.74.0.ebuild b/kde-frameworks/kdeclarative/kdeclarative-5.74.0-r1.ebuild index f1974ae53ddf..6e28a831ed99 100644 --- a/kde-frameworks/kdeclarative/kdeclarative-5.74.0.ebuild +++ b/kde-frameworks/kdeclarative/kdeclarative-5.74.0-r1.ebuild @@ -33,3 +33,7 @@ DEPEND=" media-libs/libepoxy " RDEPEND="${DEPEND}" + +PATCHES=( + "${FILESDIR}"/${P}-block-shortcuts-when-recording-key-sequences.patch +) diff --git a/kde-frameworks/kio/Manifest b/kde-frameworks/kio/Manifest index 84c8c84b9d0d..354fb1d75f0e 100644 --- a/kde-frameworks/kio/Manifest +++ b/kde-frameworks/kio/Manifest @@ -1,6 +1,8 @@ AUX kio-5.70.0-fix-run-in-terminal.patch 4162 BLAKE2B 5fb81c0bce45dc22a8dea27b81e962e267f000aa224fa7ce2dfbf3dd01bb9cd90a73623482a1580a1b95de91e3d40a157988dc3123b3e1a942827ded77174588 SHA512 64b068ea2bc9eca10f8144bcace49989c75ab64d4991b12d4720421464e3c372c5a95d56d510f68d84424e4071e2b2ec9bc447fc30e5e3c9189ccd6156d56738 +AUX kio-5.74.1-handle-shell-scripts-consistenty.patch 13311 BLAKE2B a579f98dd358748654a9f3627eaea9d85f706d4f741a8ab7142d2f2b2a2acdb1ee1eb7c4dbdc34dd0edf2eb879f60bdd8edd7791c7fab1f001a9a5e49da54d58 SHA512 76caaadaa4ce1d3cf2d5a9418c70f44769445185f0752ae0aa00acf77ac7a215bc3f95fac860a90c7e6e6739d82c9250901dde1bad97ebb01b0ba51ed1a37f3e +AUX kio-5.74.1-kio_trash-too-strict-perms-check.patch 2982 BLAKE2B 4ce5f193979a99755f1d5bcb454ab50a6c90e922ce40966dda8dd43765646a42bf6cefe8b237af69a07b5e20b45f92d092818ca6ce19148f3cb0d0855cb5b59f SHA512 21c8b31080bea94343a5618af780e50b09ff0477f563941955bae94ac8eb676312dd1b63b4a5b2f19b37317652996147614b22e47a17eb7c0f3beeff38ee6f70 DIST kio-5.70.1.tar.xz 3200752 BLAKE2B cc56ee412cb647c8921a36c3e47747640d5574444630f70887401c69ca1a367205adf4d7cd45b721abd103efcb1265c956654fce2dfc5b3fe6241413c51f1b88 SHA512 12287f330e8e7b9ac9c0ff24c1f8f980fbd338ce3f341d8005d6dc6e3acdf96da07adeea693b3361909819d8814192503e8d2c93ca9b9958d985f0d09f202661 DIST kio-5.74.1.tar.xz 3281248 BLAKE2B 584fde1483477b70ee7892bf0de37aedb62672c2ada57d85c9646894606f10b6a03750030e1926441707b12b18ece167fa3a0dbbb75a8155bddfd35342d372f8 SHA512 a563b939d2bc71443c6c748ddf293fab84072efebdcea639707d7aaf2739356a906668be3dca915464ce7c81b63d7482ac024df786e04bbafcf999cde5ebc5e2 EBUILD kio-5.70.1-r1.ebuild 2458 BLAKE2B cd466f2258c565420ff6e34a42a0ea1ea85aa9f4e32fee0b9833e696994576de4feebda2001bab8d5b6f0b19b8bb4c6e53d3a716d21f516579836e83547d1c1c SHA512 d4ec508f1ec53a12d2d994cf6a02186fbccf3f44f5cd0897844c21af19ec136e0d50a73381a32c55418de334f6f7b21d0939977ef49763582147617fec3c00ad -EBUILD kio-5.74.1.ebuild 2395 BLAKE2B 34e8488cf9edd0371b618757ca46a363040fc3766af3a82c833acb0a1e048001d9f8b0962f53857351258ae8706c6285639cbd0f0966ae323cc8c5674241e932 SHA512 8cadbd0d04604844750d670a7316aaf1da657e828a17ee46089b304dd1ec4ba30a3ead2e1bb7fc2922f68b40cd8c3254a71c0c3631bfe18c18a893ca84a12503 +EBUILD kio-5.74.1-r1.ebuild 2526 BLAKE2B 1e91b7dc1a3fdc9c94e569644fef4f0ec1849aa2c7bdd78d80290227661d05e8276e71daea274124dd894ca79719515d774f5db0f997de2d3e7f497cbcd55ccb SHA512 8167ad0e258a656ffd9712270225f9bd06420eee499f563e1f2e4184b6bf0bfa53ac117b7d098025d06db3bd21632f88afc121d64f91133c979a76c6557dd5a8 MISC metadata.xml 465 BLAKE2B f419d817ff7a98c06ebb921974d1c68f1c50eef4548f1d7bb819fb907b7379ad4d4b4424b598f9f216dc96f00a4e9acf7f051cc628af067954b13c3cb80ddada SHA512 6fae28d51cefecbf80962e976366b86ef54ac666421477787b8a438ae18101ea936865db76464b6a95e8ec6559138a063b269b1a17ff1687c73bb6ad398d4f89 diff --git a/kde-frameworks/kio/files/kio-5.74.1-handle-shell-scripts-consistenty.patch b/kde-frameworks/kio/files/kio-5.74.1-handle-shell-scripts-consistenty.patch new file mode 100644 index 000000000000..f5e17f338fda --- /dev/null +++ b/kde-frameworks/kio/files/kio-5.74.1-handle-shell-scripts-consistenty.patch @@ -0,0 +1,310 @@ +From fdd7c47c85d5d6dbf21e05e7a0d6afcf383f1d24 Mon Sep 17 00:00:00 2001 +From: Ahmad Samir <a.samirh78@gmail.com> +Date: Tue, 15 Sep 2020 20:06:49 +0200 +Subject: [PATCH] OpenUrlJob: handle all text scripts consistently + +Previously we only handled application/x-shellscript, but there are other +scripts; a script is technically a file that inherits both text/plain and +application/x-executable, e.g. .sh, .csh, .py, perl scripts ...etc. Treat +all those mime types the way we handled shell scripts: + - if it's not a local url, or isn't executable we open it in the preferred + text editor + - if it's executable either show the OpenOrExecute dialog or execute + directly depending on how the job is configured + +The mimetype world is a confusing one: + - Executables, this includes .exe files (MS Windows); and "application/x-executable" + and "application/x-sharedlib", this depends on various parameters (e.g. + stripped executables are x-sharedlib, the same executable if not stripped + is x-executable...) + - Scripts: shell, python, perl... etc scripts, which are text files that + can be executed or opened as text. + +Adjust the unit test. + +BUG: 425829 +BUG: 425177 +FIXED-IN: 5.75 +--- + autotests/openurljobtest.cpp | 56 +++++++++++++++++++++++-------- + autotests/openurljobtest.h | 2 ++ + src/gui/openurljob.cpp | 65 ++++++++++++++++++++++-------------- + 3 files changed, 85 insertions(+), 38 deletions(-) + +diff --git a/autotests/openurljobtest.cpp b/autotests/openurljobtest.cpp +index 2f2ef8ad..ed2211a8 100644 +--- a/autotests/openurljobtest.cpp ++++ b/autotests/openurljobtest.cpp +@@ -103,14 +103,13 @@ void OpenUrlJobTest::initTestCase() + KConfigGroup grp = mimeAppsCfg.group("Default Applications"); + grp.writeEntry("text/plain", s_tempServiceName); + grp.writeEntry("text/html", s_tempServiceName); +- grp.writeEntry("application/x-shellscript", s_tempServiceName); + grp.sync(); + +- for (const char *mimeType : {"text/plain", "application/x-shellscript"}) { +- KService::Ptr preferredTextEditor = KApplicationTrader::preferredService(QString::fromLatin1(mimeType)); +- QVERIFY(preferredTextEditor); +- QCOMPARE(preferredTextEditor->entryPath(), m_fakeService); +- } ++ ++ // "text/plain" encompasses all scripts (shell, python, perl) ++ KService::Ptr preferredTextEditor = KApplicationTrader::preferredService(QStringLiteral("text/plain")); ++ QVERIFY(preferredTextEditor); ++ QCOMPARE(preferredTextEditor->entryPath(), m_fakeService); + + // As used for preferredService + QVERIFY(KService::serviceByDesktopName("openurljobtest_service")); +@@ -230,17 +229,38 @@ void OpenUrlJobTest::invalidUrl() + QCOMPARE(job2->errorString(), QStringLiteral("Malformed URL\n/pathonly")); + } + ++void OpenUrlJobTest::refuseRunningNativeExecutables_data() ++{ ++ QTest::addColumn<QString>("mimeType"); ++ ++ // Executables under e.g. /usr/bin/ can be either of these two mimetypes ++ // see https://gitlab.freedesktop.org/xdg/shared-mime-info/-/issues/11 ++ QTest::newRow("x-sharedlib") << "application/x-sharedlib"; ++ QTest::newRow("x-executable") << "application/x-executable"; ++} ++ + void OpenUrlJobTest::refuseRunningNativeExecutables() + { +- KIO::OpenUrlJob *job = new KIO::OpenUrlJob(QUrl::fromLocalFile(QCoreApplication::applicationFilePath()), QStringLiteral("application/x-executable"), this); ++ QFETCH(QString, mimeType); ++ ++ KIO::OpenUrlJob *job = new KIO::OpenUrlJob(QUrl::fromLocalFile(QCoreApplication::applicationFilePath()), mimeType, this); + QVERIFY(!job->exec()); + QCOMPARE(job->error(), KJob::UserDefinedError); + QVERIFY2(job->errorString().contains("For security reasons, launching executables is not allowed in this context."), qPrintable(job->errorString())); + } + ++void OpenUrlJobTest::refuseRunningRemoteNativeExecutables_data() ++{ ++ QTest::addColumn<QString>("mimeType"); ++ QTest::newRow("x-sharedlib") << "application/x-sharedlib"; ++ QTest::newRow("x-executable") << "application/x-executable"; ++} ++ + void OpenUrlJobTest::refuseRunningRemoteNativeExecutables() + { +- KIO::OpenUrlJob *job = new KIO::OpenUrlJob(QUrl("protocol://host/path/exe"), QStringLiteral("application/x-executable"), this); ++ QFETCH(QString, mimeType); ++ ++ KIO::OpenUrlJob *job = new KIO::OpenUrlJob(QUrl("protocol://host/path/exe"), mimeType, this); + job->setRunExecutables(true); // even with this enabled, an error will occur + QVERIFY(!job->exec()); + QCOMPARE(job->error(), KJob::UserDefinedError); +@@ -273,8 +293,11 @@ void OpenUrlJobTest::runScript_data() + { + QTest::addColumn<QString>("mimeType"); + ++ // All text-based scripts inherit text/plain and application/x-executable, no need to test ++ // all flavours (python, perl, lua, awk ...etc), this sample should be enough + QTest::newRow("shellscript") << "application/x-shellscript"; +- QTest::newRow("native") << "application/x-executable"; ++ QTest::newRow("pythonscript") << "text/x-python"; ++ QTest::newRow("javascript") << "application/javascript"; + } + + void OpenUrlJobTest::runScript() +@@ -305,16 +328,23 @@ void OpenUrlJobTest::runScript() + + void OpenUrlJobTest::runNativeExecutable_data() + { ++ QTest::addColumn<QString>("mimeType"); + QTest::addColumn<bool>("withHandler"); + QTest::addColumn<bool>("handlerRetVal"); + +- QTest::newRow("no_handler") << false << false; +- QTest::newRow("handler_false") << true << false; +- QTest::newRow("handler_true") << true << true; ++ QTest::newRow("no_handler_x-sharedlib") << "application/x-sharedlib" << false << false; ++ QTest::newRow("handler_false_x-sharedlib") << "application/x-sharedlib" << true << false; ++ QTest::newRow("handler_true_x-sharedlib") << "application/x-sharedlib" << true << true; ++ ++ QTest::newRow("no_handler_x-executable") << "application/x-executable" << false << false; ++ QTest::newRow("handler_false_x-executable") << "application/x-executable" << true << false; ++ QTest::newRow("handler_true_x-executable") << "application/x-executable" << true << true; ++ + } + + void OpenUrlJobTest::runNativeExecutable() + { ++ QFETCH(QString, mimeType); + QFETCH(bool, withHandler); + QFETCH(bool, handlerRetVal); + +@@ -335,7 +365,7 @@ void OpenUrlJobTest::runNativeExecutable() + KIO::setDefaultUntrustedProgramHandler(withHandler ? &s_handler : nullptr); + + // When using OpenUrlJob to run the executable +- KIO::OpenUrlJob *job = new KIO::OpenUrlJob(QUrl::fromLocalFile(scriptFile), QStringLiteral("application/x-executable"), this); ++ KIO::OpenUrlJob *job = new KIO::OpenUrlJob(QUrl::fromLocalFile(scriptFile), mimeType, this); + job->setRunExecutables(true); // startProcess tests the case where this isn't set + const bool success = job->exec(); + +diff --git a/autotests/openurljobtest.h b/autotests/openurljobtest.h +index e71987d9..f5b9a5be 100644 +--- a/autotests/openurljobtest.h ++++ b/autotests/openurljobtest.h +@@ -26,7 +26,9 @@ private Q_SLOTS: + + void noServiceNoHandler(); + void invalidUrl(); ++ void refuseRunningNativeExecutables_data(); + void refuseRunningNativeExecutables(); ++ void refuseRunningRemoteNativeExecutables_data(); + void refuseRunningRemoteNativeExecutables(); + void notAuthorized(); + void runScript_data(); +diff --git a/src/gui/openurljob.cpp b/src/gui/openurljob.cpp +index 8ac187b4..3e35c95c 100644 +--- a/src/gui/openurljob.cpp ++++ b/src/gui/openurljob.cpp +@@ -73,9 +73,9 @@ public: + + private: + void executeCommand(); +- void handleExecutables(const QMimeType &mimeType); ++ void handleBinaries(const QMimeType &mimeType); + void handleDesktopFiles(); +- void handleShellscripts(); ++ void handleScripts(); + void openInPreferredApp(); + void runLink(const QString &filePath, const QString &urlStr, const QString &optionalServiceName); + +@@ -439,14 +439,29 @@ void KIO::OpenUrlJobPrivate::emitAccessDenied() + q->emitResult(); + } + +-// was: KRun::isExecutable (minus application/x-desktop and application/x-shellscript mimetypes). ++// was: KRun::isExecutable (minus application/x-desktop mimetype). + // Feel free to make public if needed. +-static bool isExecutableMime(const QMimeType &mimeType) ++static bool isBinary(const QMimeType &mimeType) + { +- return (mimeType.inherits(QStringLiteral("application/x-executable")) || +- /* e.g. /usr/bin/ls, see https://gitlab.freedesktop.org/xdg/shared-mime-info/-/issues/11 */ +- mimeType.inherits(QStringLiteral("application/x-sharedlib")) || +- mimeType.inherits(QStringLiteral("application/x-ms-dos-executable"))); ++ // - Binaries could be e.g.: ++ // - application/x-executable ++ // - application/x-sharedlib e.g. /usr/bin/ls, see ++ // https://gitlab.freedesktop.org/xdg/shared-mime-info/-/issues/11 ++ // ++ // - Mimetypes that inherit application/x-executable _and_ text/plain are scripts, these are ++ // handled by handleScripts() ++ ++ return (mimeType.inherits(QStringLiteral("application/x-executable")) ++ || mimeType.inherits(QStringLiteral("application/x-sharedlib")) ++ || mimeType.inherits(QStringLiteral("application/x-ms-dos-executable"))); ++} ++ ++// Helper function that returns whether a file is a text-based script ++// e.g. ".sh", ".csh", ".py", ".js" ++static bool isTextScript(const QMimeType &mimeType) ++{ ++ return (mimeType.inherits(QStringLiteral("application/x-executable")) ++ && mimeType.inherits(QStringLiteral("text/plain"))); + } + + // Helper function that returns whether a file has the execute bit set or not. +@@ -456,7 +471,7 @@ static bool hasExecuteBit(const QString &fileName) + } + + // Handle native binaries (.e.g. /usr/bin/*); and .exe files +-void KIO::OpenUrlJobPrivate::handleExecutables(const QMimeType &mimeType) ++void KIO::OpenUrlJobPrivate::handleBinaries(const QMimeType &mimeType) + { + if (!KAuthorized::authorize(QStringLiteral("shell_access"))) { + emitAccessDenied(); +@@ -475,11 +490,9 @@ void KIO::OpenUrlJobPrivate::handleExecutables(const QMimeType &mimeType) + + const QString localPath = m_url.toLocalFile(); + +- // Check whether file is an executable script +-#ifdef Q_OS_WIN +- const bool isNativeBinary = !mimeType.inherits(QStringLiteral("text/plain")); +-#else +- const bool isNativeBinary = !mimeType.inherits(QStringLiteral("text/plain")) && !mimeType.inherits(QStringLiteral("application/x-ms-dos-executable")); ++ bool isNativeBinary = true; ++#ifndef Q_OS_WIN ++ isNativeBinary = !mimeType.inherits(QStringLiteral("application/x-ms-dos-executable")); + #endif + + if (m_showOpenOrExecuteDialog) { +@@ -497,6 +510,8 @@ void KIO::OpenUrlJobPrivate::handleExecutables(const QMimeType &mimeType) + } + }; + ++ // Ask the user for confirmation before executing this binary (for binaries ++ // the dialog will only show Execute/Cancel) + showOpenOrExecuteFileDialog(dialogFinished); + return; + } +@@ -601,15 +616,15 @@ void KIO::OpenUrlJobPrivate::runUrlWithMimeType() + return; + } + +- // Shell scripts +- if (mimeType.inherits(QStringLiteral("application/x-shellscript"))) { +- handleShellscripts(); ++ // Scripts (e.g. .sh, .csh, .py, .js) ++ if (isTextScript(mimeType)) { ++ handleScripts(); + return; + } + +- // Binaries (e.g. /usr/bin/konsole) and .exe files +- if (isExecutableMime(mimeType)) { +- handleExecutables(mimeType); ++ // Binaries (e.g. /usr/bin/{konsole,ls}) and .exe files ++ if (isBinary(mimeType)) { ++ handleBinaries(mimeType); + return; + } + +@@ -677,8 +692,9 @@ void KIO::OpenUrlJobPrivate::handleDesktopFiles() + openInPreferredApp(); + } + +-void KIO::OpenUrlJobPrivate::handleShellscripts() ++void KIO::OpenUrlJobPrivate::handleScripts() + { ++ // Executable scripts of any type can run arbitrary shell commands + if (!KAuthorized::authorize(QStringLiteral("shell_access"))) { + emitAccessDenied(); + return; +@@ -687,8 +703,7 @@ void KIO::OpenUrlJobPrivate::handleShellscripts() + const bool isLocal = m_url.isLocalFile(); + const QString localPath = m_url.toLocalFile(); + if (!isLocal || !hasExecuteBit(localPath)) { +- // Open remote shell scripts or ones without the execute bit, with the +- // default application ++ // Open remote scripts or ones without the execute bit, with the default application + openInPreferredApp(); + return; + } +@@ -706,7 +721,7 @@ void KIO::OpenUrlJobPrivate::handleShellscripts() + return; + } + +- if (m_runExecutables) { // Local executable shell script, proceed ++ if (m_runExecutables) { // Local executable script, proceed + executeCommand(); + } else { // Open in the default (text editor) app + openInPreferredApp(); +@@ -767,7 +782,7 @@ void KIO::OpenUrlJobPrivate::showOpenOrExecuteFileDialog(std::function<void(bool + + if (!s_openOrExecuteFileHandler) { + // No way to ask the user whether to execute or open +- if (mimeType.inherits(QStringLiteral("application/x-shellscript")) ++ if (isTextScript(mimeType) + || mimeType.inherits(QStringLiteral("application/x-desktop"))) { // Open text-based ones in the default app + openInPreferredApp(); + } else { +-- +GitLab + diff --git a/kde-frameworks/kio/files/kio-5.74.1-kio_trash-too-strict-perms-check.patch b/kde-frameworks/kio/files/kio-5.74.1-kio_trash-too-strict-perms-check.patch new file mode 100644 index 000000000000..d0b0ca0769cc --- /dev/null +++ b/kde-frameworks/kio/files/kio-5.74.1-kio_trash-too-strict-perms-check.patch @@ -0,0 +1,67 @@ +From 03bcb3d3ff89074a68839b6ebeb8030ef0ee4fd1 Mon Sep 17 00:00:00 2001 +From: David Faure <faure@kde.org> +Date: Fri, 11 Sep 2020 11:54:09 +0200 +Subject: [PATCH] kio_trash: remove unnecessarily strict permission check + +Tested with `chmod 0770 /d/.Trash-1000` (where /d is a mount point), +kio_trash complained about security checks before this commit, +and works with it. + +Also tested with a USB key which ends up mounted as +type vfat (rw,nosuid,nodev,relatime,uid=1000,gid=100,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,showexec,utf8,flush,errors=remount-ro,uhelper=udisks2). After kio_trash creates .Trash-1000 +it complained about a "strange filesystem", and while this is still true :), +the removal of the code in TrashImpl::initTrashDirectory makes +the trash dir on the USB key usable. + +BUG: 76380 +FIXED-IN: 5.74 +--- + src/ioslaves/trash/trashimpl.cpp | 25 ++++--------------------- + 1 file changed, 4 insertions(+), 21 deletions(-) + +diff --git a/src/ioslaves/trash/trashimpl.cpp b/src/ioslaves/trash/trashimpl.cpp +index b1ba87a4..9ec7cc7a 100644 +--- a/src/ioslaves/trash/trashimpl.cpp ++++ b/src/ioslaves/trash/trashimpl.cpp +@@ -1210,9 +1210,9 @@ QString TrashImpl::trashForMountPoint(const QString &topdir, bool createIfNeeded + const QByteArray trashDir_c = QFile::encodeName(trashDir); + if (QT_LSTAT(trashDir_c.constData(), &buff) == 0) { + if ((buff.st_uid == uid) // must be owned by user +- && (S_ISDIR(buff.st_mode)) // must be a dir +- && (!S_ISLNK(buff.st_mode)) // not a symlink +- && ((buff.st_mode & 0777) == 0700)) { // rwx for user, ------ for group and others ++ && S_ISDIR(buff.st_mode) // must be a dir ++ && !S_ISLNK(buff.st_mode) // not a symlink ++ && ((buff.st_mode & 0700) == 0700)) { // and we need write access to it + + if (checkTrashSubdirs(trashDir_c)) { + return trashDir; +@@ -1248,24 +1248,7 @@ bool TrashImpl::initTrashDirectory(const QByteArray &trashDir_c) const + return false; + } + //qCDebug(KIO_TRASH); +- // This trash dir will be useable only if the directory is owned by user. +- // In theory this is the case, but not on e.g. USB keys... +- uid_t uid = getuid(); +- QT_STATBUF buff; +- if (QT_LSTAT(trashDir_c.constData(), &buff) != 0) { +- return false; // huh? +- } +- if ((buff.st_uid == uid) // must be owned by user +- && ((buff.st_mode & 0777) == 0700)) { // rwx for user, --- for group and others +- +- return checkTrashSubdirs(trashDir_c); +- +- } else { +- qCWarning(KIO_TRASH) << trashDir_c << "just created, by it doesn't have the right permissions, probably some strange unsupported filesystem"; +- ::rmdir(trashDir_c.constData()); +- return false; +- } +- return true; ++ return checkTrashSubdirs(trashDir_c); + } + + bool TrashImpl::checkTrashSubdirs(const QByteArray &trashDir_c) const +-- +GitLab + diff --git a/kde-frameworks/kio/kio-5.74.1.ebuild b/kde-frameworks/kio/kio-5.74.1-r1.ebuild index b2b55fc7759f..b77cae090c8c 100644 --- a/kde-frameworks/kio/kio-5.74.1.ebuild +++ b/kde-frameworks/kio/kio-5.74.1-r1.ebuild @@ -71,6 +71,11 @@ PDEPEND=" # tests hang RESTRICT+=" test" +PATCHES=( + "${FILESDIR}"/${P}-kio_trash-too-strict-perms-check.patch + "${FILESDIR}"/${P}-handle-shell-scripts-consistenty.patch +) + src_configure() { local mycmakeargs=( $(cmake_use_find_package acl ACL) diff --git a/kde-frameworks/kirigami/Manifest b/kde-frameworks/kirigami/Manifest index a9d96ab8ddf4..1e87bafac8d3 100644 --- a/kde-frameworks/kirigami/Manifest +++ b/kde-frameworks/kirigami/Manifest @@ -1,5 +1,7 @@ +AUX kirigami-5.74.0-remove-actions-from-ToolBarLayout-when-destroyed.patch 1052 BLAKE2B 517e9e9956a8c773272a05b6217d18360742fd0ed72fb5179a6dcecc1426fd5eeae5b0d6b759612f13d3f88d5fe5659921631758ef98e9632d1a3f0474f1b03f SHA512 543ec519467800d4e27836834fbb9f846335a283a13e5414caf1fa8684d21a464a151709d8f238a37fc48ae2aee1cb5ebfdcd63c566d43406d3ec99c46f2ccdc +AUX kirigami-5.74.0-revert-fix-avatar-loading.patch 969 BLAKE2B a44a3d4961b523fabc79fdc8ea4abc9b036c7b51e16b88dcfd6167046066f4589860ff3d0d37cc00d473617a72f02b2130dcae686c0f93875915e71d2b240309 SHA512 3626e74ad0be79b0861f1b4fcf10ec6d07495cbc9a4879d12b93e5b14d70ea0b432d5174d40f2c0a370e932a30eba235a3d19a2f75e04cb07cae62b29cf25ea1 DIST kirigami2-5.70.0.tar.xz 257720 BLAKE2B 034d4ad0a6ab78c5ad1f5beffdc41e5702d956ee7e6e527f003da40ba0e55a4900404c2e2a58fd4d28b4169eb22407b8cb7c2a377c39d8ae1977558cf3eb54d4 SHA512 45c582110cc4d7595c6d467f16f77aba6d66ba0701fea2d1049e7c6af8a73376c0521126031cd1748a8735b0ea75917a8ba1c6f6f72497778d8a883671ef0afb DIST kirigami2-5.74.0.tar.xz 282820 BLAKE2B bd3cbdf3b98ee88518a9347180f59fb7cdb262fa6acf824da1de3103c516213a42cf106425eafaf497cab5be15f91bbf9dc4f3e10c7464cce19f0e0b564b4f4d SHA512 43059bc682e2d729a0a926e26ce5ba68947f275ffdd74836c124d9e063273429ccde8c0cebaef53168c46cfd62f41cb2c33d86f1f515ca619bde604aa7f5da5f EBUILD kirigami-5.70.0.ebuild 1032 BLAKE2B b82aa6be9a425c787d13fbe9fb3d00f5c2bb241579f6ca39276552e949fce5fde63d01dc74e2ba359e7be2b8c34de12dd70a91de02cb1a52a9127b0cb82a4bb0 SHA512 34b0076c28f6c3946780031d6deadd8d6cf1016164b67bd963c24d02af4100f6d9c1ac79da5e757a75444dca2848d0eddf5c1e4a21a4e32451badbe7284a68ec -EBUILD kirigami-5.74.0.ebuild 978 BLAKE2B a8fc110a4e61a5d381c094c04ab27ad0edc888bacfcaba4782ad1962aeb8d9eccb008ea1931c347442da2b9f649637f045ec39128b94a3d7e94fa17b8026f6f0 SHA512 b01e3b320b834f82b0c2e44fbf91fb3cef72db08ebeea4af45cf9813f4be906173c6022b0fd4650c992400e3e2f3ef2dcd8cf276e74c1dcbad0255d43112da39 +EBUILD kirigami-5.74.0-r1.ebuild 1118 BLAKE2B 262597aeb3de66d191b89f44aedd5595d79c2ae623788fb6def60efddb11a6eb9d5ef16d18218bbdeaf2c0319aef6641c750ac644139bf4e5b74967a7a8e3b48 SHA512 f51515bb6e7ce0f345e09da68657477d5dafd40783ac23376fe5ca3f35dee1fd5e7bdd58144911ccf1a14332360bc9ffd8254279a0f6f3aacbc440d358a8c1e2 MISC metadata.xml 249 BLAKE2B ad415db89e5dee1627aa77f44ded9d4e1e5b8217d06c7ca25bbaa3fe92ce67c2b1090957c45a821b407d7927e5af798498aa6a5b903895ee1af8ee20a446c7f7 SHA512 76a5a340b13f0053ca3c5e94ed24380ea8d29b45ac8655419e22eaadb1e4a827c04d2e7e36b65145c4964e6526f656618fc6ac144e277ef53cb7373e6239e3c3 diff --git a/kde-frameworks/kirigami/files/kirigami-5.74.0-remove-actions-from-ToolBarLayout-when-destroyed.patch b/kde-frameworks/kirigami/files/kirigami-5.74.0-remove-actions-from-ToolBarLayout-when-destroyed.patch new file mode 100644 index 000000000000..192ba9dcf67f --- /dev/null +++ b/kde-frameworks/kirigami/files/kirigami-5.74.0-remove-actions-from-ToolBarLayout-when-destroyed.patch @@ -0,0 +1,40 @@ +From 6eaefba5001445fa7e198e4caa0bde738240d66f Mon Sep 17 00:00:00 2001 +From: Arjen Hiemstra <ahiemstra@heimr.nl> +Date: Wed, 9 Sep 2020 13:00:59 +0200 +Subject: [PATCH] Remove actions and delegates from ToolBarLayout when they get + destroyed + +Otherwise we're keeping around stale entries that no longer point to +valid stuff. + +BUG: 425670 +--- + src/toolbarlayout.cpp | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +diff --git a/src/toolbarlayout.cpp b/src/toolbarlayout.cpp +index cbf31062..c2df5998 100644 +--- a/src/toolbarlayout.cpp ++++ b/src/toolbarlayout.cpp +@@ -112,6 +112,18 @@ void ToolBarLayout::addAction(QObject* action) + d->actions.append(action); + d->actionsChanged = true; + ++ connect(action, &QObject::destroyed, this, [this](QObject *action) { ++ auto itr = d->delegates.find(action); ++ if (itr != d->delegates.end()) { ++ d->delegates.erase(itr); ++ } ++ ++ d->actions.removeOne(action); ++ d->actionsChanged = true; ++ ++ relayout(); ++ }); ++ + relayout(); + } + +-- +GitLab + diff --git a/kde-frameworks/kirigami/files/kirigami-5.74.0-revert-fix-avatar-loading.patch b/kde-frameworks/kirigami/files/kirigami-5.74.0-revert-fix-avatar-loading.patch new file mode 100644 index 000000000000..60dae8389abf --- /dev/null +++ b/kde-frameworks/kirigami/files/kirigami-5.74.0-revert-fix-avatar-loading.patch @@ -0,0 +1,30 @@ +From aaaabf1ea84d9c5ae9cf50a306b79f15f44f5b35 Mon Sep 17 00:00:00 2001 +From: Carson Black <uhhadd@gmail.com> +Date: Sat, 19 Sep 2020 12:21:33 -0400 +Subject: [PATCH] Revert "Fix: avatar loading" + +This reverts commit 338d91be7254099c1ad4c1f475acb6368df2b114, which +introduced a visual regression in the users KCM among other places +that use the Avatar by causing the image to fail to resize according +to the size of the avatar component. +--- + src/controls/Avatar.qml | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/src/controls/Avatar.qml b/src/controls/Avatar.qml +index a4f59448..775e5987 100644 +--- a/src/controls/Avatar.qml ++++ b/src/controls/Avatar.qml +@@ -133,9 +133,6 @@ QQC2.Control { + mipmap: true + smooth: true + +- sourceSize.width: avatarRoot.implicitWidth +- sourceSize.height: avatarRoot.implicitHeight +- + fillMode: Image.PreserveAspectFit + anchors.fill: parent + } +-- +GitLab + diff --git a/kde-frameworks/kirigami/kirigami-5.74.0.ebuild b/kde-frameworks/kirigami/kirigami-5.74.0-r1.ebuild index a916f233d0b7..0064f84f415c 100644 --- a/kde-frameworks/kirigami/kirigami-5.74.0.ebuild +++ b/kde-frameworks/kirigami/kirigami-5.74.0-r1.ebuild @@ -37,6 +37,11 @@ RDEPEND="${DEPEND} # requires package to already be installed RESTRICT+=" test" +PATCHES=( + "${FILESDIR}"/${P}-revert-fix-avatar-loading.patch + "${FILESDIR}"/${P}-remove-actions-from-ToolBarLayout-when-destroyed.patch +) + src_configure() { local mycmakeargs=( -DBUILD_EXAMPLES=$(usex examples) diff --git a/kde-frameworks/kxmlgui/Manifest b/kde-frameworks/kxmlgui/Manifest index a625b5667e35..7d84efd4d19c 100644 --- a/kde-frameworks/kxmlgui/Manifest +++ b/kde-frameworks/kxmlgui/Manifest @@ -1,5 +1,6 @@ +AUX kxmlgui-5.74.0-fix-multiple-tabs-popup-on-logout.patch 2160 BLAKE2B c467d71f6ce8d24f90aa29192e1f19d10ff8c2d290a1695259e93fb90b1f0d77ed46a2346599c8c5a540a406c55ef68a3fe8cf9b8fe40bcbdb8cca9f113df755 SHA512 4188f192ac437f6334d261f8f178dd2ca29d2ea48fa4d51e23483b2212369ee79521f098a9a51e8e8ac1ec0f861b76a96fefe5a1620149102d2d9268ca794cb3 DIST kxmlgui-5.70.0.tar.xz 857852 BLAKE2B 7908b175c34761832dfa835ec96978ab2c107263f0e358074b2d26ce54f8eb71236f65bfac5be480bc3f487f854d1de2843ecfc757e0417b4378b67c866f7863 SHA512 d50394c42bf494d70acab91f77817e96fb76efcf1f15af2a17dd027a175d87ea27778756124c15dd104278773f74c9a1d2fca7f0671b12adcd9851532a0958e2 DIST kxmlgui-5.74.0.tar.xz 864784 BLAKE2B d6cc88603f0036415981411bbaeca6ba7877df085d5b5095b04b7d5567d0e1f23ad3d8c8b1472a365018e9360ee4351c7523fd791d4e53ecca3e9143cc8f2b72 SHA512 98f3e65c30a095d17c0512894bbba0bb172b2044652a0d23324f843489f5bb726359be40a9d68a7916d45a2a6e135f0bbbf7924b35a1939611b75ad6d44ccd92 EBUILD kxmlgui-5.70.0.ebuild 1285 BLAKE2B 4017f3fb0eab9abf2d9e049c0b3d3050d37e886f4a6d8a9fc09874dc72c6f30ca9b398be7e120e86e56361eb9bbadaead4e9dc7883ecbc6f026292c98fb2d7bf SHA512 4e363d9b13c5b6f6e80ad26e80c486040ba649da079a3f6e87276a4a7546912e3c06a4f669368d849c1853ae791e869c4c6ccff87715d3d4396762859301bd53 -EBUILD kxmlgui-5.74.0.ebuild 1288 BLAKE2B 5e44c255d4fc9af7bffcd8111ae506b9ac0bc209d01b7aeec1d01a5e48646babcdc36aa954448b16fd5e24764cdd3a590ac9f59aeb470cac994db4691f52f7e9 SHA512 4ddbc5d9bf270f33a92bf52f1dbc05ae97ea1d18c6eab15fd08a1048eb3ed527e3733a8a594c9a7ac684a763b8750771a531ead695abc649bf4ff413ae102a5d +EBUILD kxmlgui-5.74.0-r1.ebuild 1360 BLAKE2B b932a130e9863f04bc5e36539366eb88d67cabc4e725f5c85c9aadf8d7be494bebe1227ac22e9d915ad0b8efa9ab1250655e707808de29ed3e37a4d977aa3fd0 SHA512 166c3dcadd074b384a140d6dd51b8e1d48d6062306434fe2a041e80dd9ed2e526a175d740dd7192a91923fceaf1eeeb7849bdb4e19b4bfb514ca378e5ff75f1a MISC metadata.xml 340 BLAKE2B a8e14dd471ebcdaf382d71d9dec13809433c811acbc813ea4c74b1cd05829474df09efba54d8e3aa1041bce3f5e4a61db879e228bab4f79e3b4d9eed32e40a25 SHA512 c6fa7ef3ff6e38f17ef6db3784bfe04e35607464521488253d03863919392c38e76b7d4cf92e83502b1bec109fa1b1a257a7e4a955ea2c01d61e1784f89f59ae diff --git a/kde-frameworks/kxmlgui/files/kxmlgui-5.74.0-fix-multiple-tabs-popup-on-logout.patch b/kde-frameworks/kxmlgui/files/kxmlgui-5.74.0-fix-multiple-tabs-popup-on-logout.patch new file mode 100644 index 000000000000..f49999eb6490 --- /dev/null +++ b/kde-frameworks/kxmlgui/files/kxmlgui-5.74.0-fix-multiple-tabs-popup-on-logout.patch @@ -0,0 +1,68 @@ +From 7cefdcf3d04669978aa28481d8ea274402935374 Mon Sep 17 00:00:00 2001 +From: Allan Sandfeld Jensen <allan.jensen@qt.io> +Date: Mon, 10 Aug 2020 09:54:14 +0200 +Subject: [PATCH] Handle double close in main window + +After a bug fix in Qt 5.14 we now get real close events for unclosed windows +when the application closes, so we would be getting two close events breaking +our logic when when to suppress on-close dialogs. + +Suppress the real close event after we have handled our own simulated one. Also +works if there is no real close event. + +BUG: 416728 + +* Fixup after git merged the wrong commit +--- + src/kmainwindow.cpp | 8 ++++++++ + src/kmainwindow_p.h | 1 + + 2 files changed, 9 insertions(+) + +diff --git a/src/kmainwindow.cpp b/src/kmainwindow.cpp +index b9bc2b6..33babb9 100644 +--- a/src/kmainwindow.cpp ++++ b/src/kmainwindow.cpp +@@ -269,6 +269,7 @@ void KMainWindowPrivate::init(KMainWindow *_q) + letDirtySettings = true; + + sizeApplied = false; ++ suppressCloseEvent = false; + } + + static bool endsWithHashNumber(const QString &s) +@@ -532,6 +533,10 @@ void KMainWindow::appHelpActivated() + void KMainWindow::closeEvent(QCloseEvent *e) + { + K_D(KMainWindow); ++ if (d->suppressCloseEvent) { ++ e->accept(); ++ return; ++ } + + // Save settings if auto-save is enabled, and settings have changed + if (d->settingsTimer && d->settingsTimer->isActive()) { +@@ -556,6 +561,9 @@ void KMainWindow::closeEvent(QCloseEvent *e) + } else { + e->ignore(); //if the window should not be closed, don't close it + } ++ // If saving session, we are processing a fake close event, and might get the real one later. ++ if (e->isAccepted() && qApp->isSavingSession()) ++ d->suppressCloseEvent = true; + } + + bool KMainWindow::queryClose() +diff --git a/src/kmainwindow_p.h b/src/kmainwindow_p.h +index 13f6f19..bdd1eb4 100644 +--- a/src/kmainwindow_p.h ++++ b/src/kmainwindow_p.h +@@ -33,6 +33,7 @@ public: + bool settingsDirty: 1; + bool autoSaveWindowSize: 1; + bool sizeApplied: 1; ++ bool suppressCloseEvent: 1; + KConfigGroup autoSaveGroup; + QTimer *settingsTimer; + QTimer *sizeTimer; +-- +2.28.0 + diff --git a/kde-frameworks/kxmlgui/kxmlgui-5.74.0.ebuild b/kde-frameworks/kxmlgui/kxmlgui-5.74.0-r1.ebuild index 38761c0a0a10..04c5486ff737 100644 --- a/kde-frameworks/kxmlgui/kxmlgui-5.74.0.ebuild +++ b/kde-frameworks/kxmlgui/kxmlgui-5.74.0-r1.ebuild @@ -35,6 +35,8 @@ DEPEND=" " RDEPEND="${DEPEND}" +PATCHES=( "${FILESDIR}"/${P}-fix-multiple-tabs-popup-on-logout.patch ) + src_configure() { local mycmakeargs=( -DCMAKE_DISABLE_FIND_PACKAGE_KF5Attica=ON diff --git a/kde-frameworks/plasma/Manifest b/kde-frameworks/plasma/Manifest index dd308722c269..d72e5c02bf31 100644 --- a/kde-frameworks/plasma/Manifest +++ b/kde-frameworks/plasma/Manifest @@ -1,5 +1,6 @@ +AUX plasma-5.74.0-fix-pc3-button-icons-color-set.patch 1276 BLAKE2B b74a469f50ba5c31edf6bf7ab80113a68f91eb27ebbabb6eb18b53d8fff1c71fd352fc93baf51114e6f964c75a3ec9ba516c87b02b664fc649fd8d6bc484aab9 SHA512 b527e08d5f116cc00390ccbc960501e6f95f80da6d3d42153c8a07675799aa0d8dd002e4f2f52088d66133090b888e5acef3e6be70f66acf39c38e9652f0cb38 DIST plasma-framework-5.70.1.tar.xz 3132736 BLAKE2B 6f6dc34c6e9f5c433e2a6302fffc7172a7dbf187cc8ebeef1a5c47dc3b329269d71891508e41c3b0a7a7d8de8af519d7a9c320defec6726e9fdf9b859d158017 SHA512 2b022f0e1e6abec8b7cf0ff77dd862a78f17692d17a78ad5a42a1a784c98a57070a5a721b44e808e299f374248769b90449201ae3c6dba17a292726e3b646930 DIST plasma-framework-5.74.0.tar.xz 3140648 BLAKE2B dfc8df92d351446a146204f48c42cd4d6325f2652b5b61e0a530b27763fb3b6f07bf14319c86a54f933a58329d214977545e00f261cc784c0d8659eebd8cddb0 SHA512 7aae44d94a175dcdbd779a6801626d20e8d986597d1d05c82c5c035997b874ebb9b4412191e1fa7a26aa4e045ceaf22a7ef359d3e817d812357d51219eb5fb46 EBUILD plasma-5.70.1.ebuild 1927 BLAKE2B 3b100a046afc977d7a11aba841275d4be2ba0e7ba6e489afb03f0cc4c7dd4c43b1abdb2b40240a55e4a70e783f24d75caf6fd5d341261ad78b6c55d965f738b6 SHA512 c7e7f6021addbd03c6cdf463376a4bdaadba600f070aff8365f0e86fd6fa47004846b6732717fa72d664e2fb0c6b6c93d221bd043fb0b142ffe80272279f053f -EBUILD plasma-5.74.0.ebuild 1873 BLAKE2B 2c0723714f1f7fc5874370eaa641effc20a3aba9af14883120dfc35aef7f7cb58d65578ad5a93e12b9692d06dd074dd5744203f903bd6145477afe867c1ca4bf SHA512 8f7e26d1259c5274f6aae10fea0ab26eddb739b29da59028f1e6ccdc1f4f9b2d2052bf57e2ae847704651aae6b829f8d6ed2e8b617f4716c6ddccbab03d35d89 +EBUILD plasma-5.74.0-r1.ebuild 1942 BLAKE2B 2162ca9a9717a33e16d7c39257872d9ffdfa38388a34a2525cabaf3f219f14adeaf054d378ee0caaa8df1c040c8f372372b6a0a629f96bec6afc34ec2c6048b7 SHA512 363737a93ed7d5dad8c9e65204a24c5a438389956f76b367e3ea740f486ec5b646c43a0d228e24d3cc105be8c2f20094927a6981138d160c9ca8031482a8bc68 MISC metadata.xml 249 BLAKE2B ad415db89e5dee1627aa77f44ded9d4e1e5b8217d06c7ca25bbaa3fe92ce67c2b1090957c45a821b407d7927e5af798498aa6a5b903895ee1af8ee20a446c7f7 SHA512 76a5a340b13f0053ca3c5e94ed24380ea8d29b45ac8655419e22eaadb1e4a827c04d2e7e36b65145c4964e6526f656618fc6ac144e277ef53cb7373e6239e3c3 diff --git a/kde-frameworks/plasma/files/plasma-5.74.0-fix-pc3-button-icons-color-set.patch b/kde-frameworks/plasma/files/plasma-5.74.0-fix-pc3-button-icons-color-set.patch new file mode 100644 index 000000000000..8f938b00b89b --- /dev/null +++ b/kde-frameworks/plasma/files/plasma-5.74.0-fix-pc3-button-icons-color-set.patch @@ -0,0 +1,28 @@ +From 3167717797d07a8645391e093fa91526c4645f4f Mon Sep 17 00:00:00 2001 +From: Noah Davis <noahadvs@gmail.com> +Date: Wed, 23 Sep 2020 20:23:08 -0400 +Subject: [PATCH] Fix PC3 Button/ToolButton icons not always having the right + color set + +BUG: 426556 +FIXED-IN: 5.75 +--- + .../plasmacomponents3/private/ButtonContent.qml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/declarativeimports/plasmacomponents3/private/ButtonContent.qml b/src/declarativeimports/plasmacomponents3/private/ButtonContent.qml +index 6dc2ce085..91428bdb3 100644 +--- a/src/declarativeimports/plasmacomponents3/private/ButtonContent.qml ++++ b/src/declarativeimports/plasmacomponents3/private/ButtonContent.qml +@@ -42,7 +42,7 @@ GridLayout { + + implicitWidth: root.parent.icon.width > 0 ? root.parent.icon.width : defaultIconSize + implicitHeight: root.parent.icon.height > 0 ? root.parent.icon.height : defaultIconSize +- ++ colorGroup: parent.PlasmaCore.ColorScope.colorGroup + visible: source.length > 0 && root.parent.display !== T.Button.TextOnly + source: root.parent.icon ? (root.parent.icon.name || root.parent.icon.source) : "" + status: usingFocusBackground ? PlasmaCore.Svg.Selected : PlasmaCore.Svg.Normal +-- +GitLab + diff --git a/kde-frameworks/plasma/plasma-5.74.0.ebuild b/kde-frameworks/plasma/plasma-5.74.0-r1.ebuild index 4dd229e01593..445cbc96d858 100644 --- a/kde-frameworks/plasma/plasma-5.74.0.ebuild +++ b/kde-frameworks/plasma/plasma-5.74.0-r1.ebuild @@ -61,6 +61,8 @@ DEPEND="${RDEPEND} RESTRICT+=" test" +PATCHES=( "${FILESDIR}"/${P}-fix-pc3-button-icons-color-set.patch ) + src_configure() { local mycmakeargs=( $(cmake_use_find_package !gles2-only OpenGL) diff --git a/kde-frameworks/qqc2-desktop-style/Manifest b/kde-frameworks/qqc2-desktop-style/Manifest index c779374c268e..0665ec2d0fe0 100644 --- a/kde-frameworks/qqc2-desktop-style/Manifest +++ b/kde-frameworks/qqc2-desktop-style/Manifest @@ -1,5 +1,6 @@ +AUX qqc2-desktop-style-5.74.0-move-dbus-connection-in-singleton.patch 2617 BLAKE2B e0a7b44d4df2dc62f9778337beca7ac3c52fecb8558022df58224615a414131b20b6e37e3df89c7217ced582b45a4b62df79b9370aa5dbe08bbf836b11dc43bb SHA512 b6af1ea12353cb15b2c41b9aec5fc6ed9c135374213306999fb21f1901ca24b7fbc070e08d0c256e0b3dd0955f786c962d9cdefd989ba07d6f09b7acbe709899 DIST qqc2-desktop-style-5.70.0.tar.xz 58388 BLAKE2B 8eeeac78f137eb38256076f7a31b9b9ebebd3ac897ead75e5c3fb348cc0909f6b41af42e5384bdd6a47656c4062b537a66b8860fc97898d816cfdcf5a9c01928 SHA512 4064acfe3864c539708571e2ff1f72aec34d40a98f7ecc5a4579bd244dd2f9c5404bb382cc2b7d598cfa97b7bbb96eebed06400d6cf99bfcfe327c522bbcbea0 DIST qqc2-desktop-style-5.74.0.tar.xz 58632 BLAKE2B a4f3545d83f03eb57cd7dd9ee81db59bd56a22b7907af4eb00a50a9fa1d2a5e507a271fcb4d2a2e7465691076122251f48c0baed05e7c30042489f6dd93e60ee SHA512 88c91d5933bc2c0020a574be05a851aea54382b6c1dd5f459cba792e4ac784782bc88a36670c28f2df29188cf001bf2c9af98b3e9bc84dd59c110fd7bf936258 EBUILD qqc2-desktop-style-5.70.0.ebuild 676 BLAKE2B 43534376c93b7ae2252c7c3bc642b0bc22519cb1213e27e8db3693ba33e70cd4ba39c451b59662a363c9920aa5369bee558d8c5ded3d85b1d1597c7d9418e7ec SHA512 af76a42cfa3d4947bf5d82c23448b04e995a24c04ba31afb9c16dcf58b3e6ee81a60b962af44d795f2838614878c526aac805a0103799d2eb83fdde5f7ba1fe9 -EBUILD qqc2-desktop-style-5.74.0.ebuild 679 BLAKE2B be29de8fe382baf35c4e839362466b1a95023dd371ba175c4639792cfabc6f086f37a9ba1775569b47293c7788f1fb9d18d7425388ed9590afa3d2a11252b696 SHA512 c9f1ce854c7d1c7f76a9663425b9b33a97a68a6f5c6552738466e223a152015ad3be0b6e15cd591f8d589b8ec7a65147f5b55da169179cca17532fe224377cd2 +EBUILD qqc2-desktop-style-5.74.0-r1.ebuild 752 BLAKE2B 8ba7f5571b9ba0988d3757bc2294e0440475660ed7cf99d4a4028cc980d20da8fe063007c6a1059f979288630781ab202aff6b38d46a412f87ebb04b3940156f SHA512 c266e3f67df4d4429379c026f41014ab3da5254d20f0db05a62bcfb934786feddb642169c1ab6ff564bf05d7a1ae1459884512c8e595110cc0322785d9edb24b MISC metadata.xml 249 BLAKE2B ad415db89e5dee1627aa77f44ded9d4e1e5b8217d06c7ca25bbaa3fe92ce67c2b1090957c45a821b407d7927e5af798498aa6a5b903895ee1af8ee20a446c7f7 SHA512 76a5a340b13f0053ca3c5e94ed24380ea8d29b45ac8655419e22eaadb1e4a827c04d2e7e36b65145c4964e6526f656618fc6ac144e277ef53cb7373e6239e3c3 diff --git a/kde-frameworks/qqc2-desktop-style/files/qqc2-desktop-style-5.74.0-move-dbus-connection-in-singleton.patch b/kde-frameworks/qqc2-desktop-style/files/qqc2-desktop-style-5.74.0-move-dbus-connection-in-singleton.patch new file mode 100644 index 000000000000..026a5b65d02f --- /dev/null +++ b/kde-frameworks/qqc2-desktop-style/files/qqc2-desktop-style-5.74.0-move-dbus-connection-in-singleton.patch @@ -0,0 +1,67 @@ +From f8e56a22721057107bccdf319da36ff82ca2a804 Mon Sep 17 00:00:00 2001 +From: Marco Martin <notmart@gmail.com> +Date: Mon, 7 Sep 2020 09:52:57 +0000 +Subject: [PATCH] move the dbus connection in the singleton + +connecting to dbus is expensive, do it only once in the singleton +the theme instance will only connecto to the signal forwarded by +the singleton +--- + .../plasmadesktoptheme.cpp | 20 +++++++++++-------- + 1 file changed, 12 insertions(+), 8 deletions(-) + +diff --git a/kirigami-plasmadesktop-integration/plasmadesktoptheme.cpp b/kirigami-plasmadesktop-integration/plasmadesktoptheme.cpp +index babb433..ff046eb 100644 +--- a/kirigami-plasmadesktop-integration/plasmadesktoptheme.cpp ++++ b/kirigami-plasmadesktop-integration/plasmadesktoptheme.cpp +@@ -45,6 +45,14 @@ public: + { + connect(qGuiApp, &QGuiApplication::paletteChanged, + this, &StyleSingleton::refresh); ++ ++ // Use DBus in order to listen for kdeglobals changes directly, as the ++ // QApplication doesn't expose the font variants we're looking for, ++ // namely smallFont. ++ QDBusConnection::sessionBus().connect( QString(), ++ QStringLiteral( "/KGlobalSettings" ), ++ QStringLiteral( "org.kde.KGlobalSettings" ), ++ QStringLiteral( "notifyChange" ), this, SIGNAL(configurationChanged())); + } + + void refresh() +@@ -125,6 +133,7 @@ public: + KColorScheme viewScheme; + + Q_SIGNALS: ++ void configurationChanged(); + void paletteChanged(); + + private: +@@ -161,14 +170,6 @@ PlasmaDesktopTheme::PlasmaDesktopTheme(QObject *parent) + }); + } + +- // Use DBus in order to listen for kdeglobals changes directly, as the +- // QApplication doesn't expose the font variants we're looking for, +- // namely smallFont. +- QDBusConnection::sessionBus().connect( QString(), +- QStringLiteral( "/KGlobalSettings" ), +- QStringLiteral( "org.kde.KGlobalSettings" ), +- QStringLiteral( "notifyChange" ), this, SLOT(configurationChanged())); +- + //TODO: correct? depends from https://codereview.qt-project.org/206889 + connect(qGuiApp, &QGuiApplication::fontDatabaseChanged, this, [this]() {setDefaultFont(qApp->font());}); + configurationChanged(); +@@ -181,6 +182,9 @@ PlasmaDesktopTheme::PlasmaDesktopTheme(QObject *parent) + connect(s_style->data(), &StyleSingleton::paletteChanged, + this, &PlasmaDesktopTheme::syncColors); + ++ connect(s_style->data(), &StyleSingleton::configurationChanged, ++ this, &PlasmaDesktopTheme::configurationChanged); ++ + syncColors(); + } + +-- +GitLab + diff --git a/kde-frameworks/qqc2-desktop-style/qqc2-desktop-style-5.74.0.ebuild b/kde-frameworks/qqc2-desktop-style/qqc2-desktop-style-5.74.0-r1.ebuild index 87eb0019645e..5c012a581d59 100644 --- a/kde-frameworks/qqc2-desktop-style/qqc2-desktop-style-5.74.0.ebuild +++ b/kde-frameworks/qqc2-desktop-style/qqc2-desktop-style-5.74.0-r1.ebuild @@ -9,8 +9,9 @@ QTMIN=5.14.2 inherit ecm kde.org DESCRIPTION="Style for QtQuickControls 2 that uses QWidget's QStyle for painting" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" + LICENSE="|| ( GPL-2+ LGPL-3+ )" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" IUSE="" DEPEND=" @@ -25,3 +26,5 @@ RDEPEND="${DEPEND} >=dev-qt/qtgraphicaleffects-${QTMIN}:5 >=dev-qt/qtquickcontrols2-${QTMIN}:5 " + +PATCHES=( "${FILESDIR}"/${P}-move-dbus-connection-in-singleton.patch ) |