diff --git a/KDesktopPropsPlugin-create-destination-dir.patch b/KDesktopPropsPlugin-create-destination-dir.patch new file mode 100644 index 0000000..5ea95e0 --- /dev/null +++ b/KDesktopPropsPlugin-create-destination-dir.patch @@ -0,0 +1,29 @@ +From a0fc624d50bbd7942834913ece52d26849ba7243 Mon Sep 17 00:00:00 2001 +From: Wolfgang Bauer +Date: Thu, 17 Aug 2017 12:51:53 +0200 +Subject: [KDesktopPropsPlugin] Create destination directory if it doesn't + exist + +If the directory doesn't exist, applying the changes will fail with +"Could not save properties. You do not have sufficient access to write +to xxx". +--- + src/widgets/kpropertiesdialog.cpp | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/widgets/kpropertiesdialog.cpp b/src/widgets/kpropertiesdialog.cpp +index 860ad0e..0abcc9c 100644 +--- a/src/widgets/kpropertiesdialog.cpp ++++ b/src/widgets/kpropertiesdialog.cpp +@@ -3674,6 +3674,8 @@ void KDesktopPropsPlugin::applyChanges() + + const QString path(url.toLocalFile()); + ++ // make sure the directory exists ++ QDir().mkpath(QFileInfo(path).absolutePath()); + QFile f(path); + if (!f.open(QIODevice::ReadWrite)) { + KMessageBox::sorry(nullptr, i18n("Could not save properties. You do not have " +-- +cgit v0.11.2 + diff --git a/Really-rate-limit-INF_PROCESSED_SIZE-messages.patch b/Really-rate-limit-INF_PROCESSED_SIZE-messages.patch new file mode 100644 index 0000000..c4ef2e4 --- /dev/null +++ b/Really-rate-limit-INF_PROCESSED_SIZE-messages.patch @@ -0,0 +1,41 @@ +From 801f58e7e76acd4bcb23d6e8092825cdda203a81 Mon Sep 17 00:00:00 2001 +From: Kevin Funk +Date: Tue, 22 Aug 2017 14:11:03 +0200 +Subject: Really rate-limit INF_PROCESSED_SIZE messages + +Summary: +Fixing an ancient porting bug which popped up when porting from Qt4 to +Qt5. + +FIXED-IN: 5.38 +BUG: 383843 + +Reviewers: dfaure + +Reviewed By: dfaure + +Subscribers: dfaure, #frameworks + +Tags: #frameworks + +Differential Revision: https://phabricator.kde.org/D7463 +--- + src/core/slavebase.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/core/slavebase.cpp b/src/core/slavebase.cpp +index 3778df8..149564b 100644 +--- a/src/core/slavebase.cpp ++++ b/src/core/slavebase.cpp +@@ -535,7 +535,7 @@ void SlaveBase::processedSize(KIO::filesize_t _bytes) + emitSignal = true; + } else { + if (d->lastTimeout.isValid()) { +- emitSignal = d->lastTimeout.msecsTo(now); // emit size 10 times a second ++ emitSignal = d->lastTimeout.msecsTo(now) >= 100; // emit size 10 times a second + } else { + emitSignal = true; + } +-- +cgit v0.11.2 + diff --git a/kio.changes b/kio.changes index 390a4de..9c1c5a6 100644 --- a/kio.changes +++ b/kio.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Tue Aug 22 14:53:37 UTC 2017 - wbauer@tmo.at + +- Add Really-rate-limit-INF_PROCESSED_SIZE-messages.patch to not + cause high CPU load during file copies (kde#383843, boo#1016920, + boo#1051349) +- Add KDesktopPropsPlugin-create-destination-dir.patch to fix + modifying applications' .desktop files in the "Edit File Type" + dialog if the corresponding directory doesn't exist in + ~/.local/share/ (boo#1000946) + ------------------------------------------------------------------- Tue Aug 15 12:49:25 UTC 2017 - wbauer@tmo.at diff --git a/kio.spec b/kio.spec index 8cd3d31..3e9170c 100644 --- a/kio.spec +++ b/kio.spec @@ -77,6 +77,10 @@ Source1: baselibs.conf Patch0: kio_help-fallback-to-kde4-docs.patch # PATCH-FIX-UPSTREAM Patch1: fix-applying-special-file-attributes.patch +# PATCH-FIX-UPSTREAM +Patch2: KDesktopPropsPlugin-create-destination-dir.patch +# PATCH-FIX-UPSTREAM +Patch3: Really-rate-limit-INF_PROCESSED_SIZE-messages.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build %description @@ -124,6 +128,8 @@ Development files. %setup -q %patch0 -p1 %patch1 -p1 +%patch2 -p1 +%patch3 -p1 %build %cmake_kf5 -d build