summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--kde-base/kdebase-kioslaves/ChangeLog9
-rw-r--r--kde-base/kdebase-kioslaves/files/4.3.5-fix-slow-folderview.patch118
-rw-r--r--kde-base/kdebase-kioslaves/kdebase-kioslaves-4.3.5-r1.ebuild (renamed from kde-base/kdebase-kioslaves/kdebase-kioslaves-4.3.5.ebuild)4
3 files changed, 129 insertions, 2 deletions
diff --git a/kde-base/kdebase-kioslaves/ChangeLog b/kde-base/kdebase-kioslaves/ChangeLog
index a263ea46368d..38445528aff3 100644
--- a/kde-base/kdebase-kioslaves/ChangeLog
+++ b/kde-base/kdebase-kioslaves/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for kde-base/kdebase-kioslaves
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/kde-base/kdebase-kioslaves/ChangeLog,v 1.184 2010/01/25 14:55:52 scarabeus Exp $
+# $Header: /var/cvsroot/gentoo-x86/kde-base/kdebase-kioslaves/ChangeLog,v 1.185 2010/01/27 10:40:51 scarabeus Exp $
+
+*kdebase-kioslaves-4.3.5-r1 (27 Jan 2010)
+
+ 27 Jan 2010; Tomáš Chvátal <scarabeus@gentoo.org>
+ +files/4.3.5-fix-slow-folderview.patch, -kdebase-kioslaves-4.3.5.ebuild,
+ +kdebase-kioslaves-4.3.5-r1.ebuild:
+ Revision bump. Apply upstream patch fixing cpu hogs.
*kdebase-kioslaves-4.3.5 (25 Jan 2010)
diff --git a/kde-base/kdebase-kioslaves/files/4.3.5-fix-slow-folderview.patch b/kde-base/kdebase-kioslaves/files/4.3.5-fix-slow-folderview.patch
new file mode 100644
index 000000000000..b6c223880f6d
--- /dev/null
+++ b/kde-base/kdebase-kioslaves/files/4.3.5-fix-slow-folderview.patch
@@ -0,0 +1,118 @@
+Index: branches/KDE/4.3/kdebase/runtime/kioslave/desktop/desktopnotifier.h
+===================================================================
+--- a/kioslave/desktop/desktopnotifier.h (revision 1080099)
++++ b/kioslave/desktop/desktopnotifier.h (revision 1080100)
+@@ -1,5 +1,5 @@
+ /* This file is part of the KDE Project
+- Copyright (C) 2008 Fredrik Höglund <fredrik@kde.org>
++ Copyright (C) 2008, 2009 Fredrik Höglund <fredrik@kde.org>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+@@ -20,15 +20,26 @@
+ #define DESKTOPNOTIFIER_H
+
+ #include <kdedmodule.h>
++#include <QtDBus/QtDBus>
+
++class KDirWatch;
++
+ class DesktopNotifier : public KDEDModule
+ {
+ Q_OBJECT
++ Q_CLASSINFO("D-Bus Interface", "org.kde.DesktopNotifier")
++
+ public:
+ DesktopNotifier(QObject* parent, const QList<QVariant>&);
+
++public slots:
++ Q_SCRIPTABLE Q_NOREPLY void watchDir(const QString &path);
++
+ private slots:
+ void dirty(const QString &path);
++
++private:
++ KDirWatch *dirWatch;
+ };
+
+ #endif
+Index: branches/KDE/4.3/kdebase/runtime/kioslave/desktop/kio_desktop.h
+===================================================================
+--- a/kioslave/desktop/kio_desktop.h (revision 1080099)
++++ b/kioslave/desktop/kio_desktop.h (revision 1080100)
+@@ -1,5 +1,5 @@
+ /* This file is part of the KDE project
+- Copyright (C) 2008 Fredrik Höglund <fredrik@kde.org>
++ Copyright (C) 2008, 2009 Fredrik Höglund <fredrik@kde.org>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+@@ -33,6 +33,7 @@
+ void checkLocalInstall();
+ QString desktopFile(KIO::UDSEntry&) const;
+ virtual bool rewriteUrl(const KUrl &url, KUrl &newUrl);
++ virtual void listDir(const KUrl &url);
+ virtual void prepareUDSEntry(KIO::UDSEntry &entry, bool listing=false) const;
+ virtual void rename(const KUrl &, const KUrl &, KIO::JobFlags flags);
+ };
+Index: branches/KDE/4.3/kdebase/runtime/kioslave/desktop/desktopnotifier.cpp
+===================================================================
+--- a/kioslave/desktop/desktopnotifier.cpp (revision 1080099)
++++ b/kioslave/desktop/desktopnotifier.cpp (revision 1080100)
+@@ -1,5 +1,5 @@
+ /* This file is part of the KDE Project
+- Copyright (C) 2008 Fredrik Höglund <fredrik@kde.org>
++ Copyright (C) 2008, 2009 Fredrik Höglund <fredrik@kde.org>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+@@ -36,13 +36,18 @@
+ DesktopNotifier::DesktopNotifier(QObject *parent, const QList<QVariant> &)
+ : KDEDModule(parent)
+ {
+- KDirWatch *dirWatch = new KDirWatch(this);
+- dirWatch->addDir(KGlobalSettings::desktopPath(), KDirWatch::WatchSubDirs);
++ dirWatch = new KDirWatch(this);
++ dirWatch->addDir(KGlobalSettings::desktopPath());
+ dirWatch->addDir(KGlobal::dirs()->localxdgdatadir() + "Trash/files");
+
+ connect(dirWatch, SIGNAL(dirty(QString)), SLOT(dirty(QString)));
+ }
+
++void DesktopNotifier::watchDir(const QString &path)
++{
++ dirWatch->addDir(path);
++}
++
+ void DesktopNotifier::dirty(const QString &path)
+ {
+ Q_UNUSED(path)
+Index: branches/KDE/4.3/kdebase/runtime/kioslave/desktop/kio_desktop.cpp
+===================================================================
+--- a/kioslave/desktop/kio_desktop.cpp (revision 1080099)
++++ b/kioslave/desktop/kio_desktop.cpp (revision 1080100)
+@@ -1,5 +1,5 @@
+ /* This file is part of the KDE project
+- Copyright (C) 2008 Fredrik Höglund <fredrik@kde.org>
++ Copyright (C) 2008, 2009 Fredrik Höglund <fredrik@kde.org>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+@@ -157,6 +157,17 @@
+ return true;
+ }
+
++void DesktopProtocol::listDir(const KUrl &url)
++{
++ KIO::ForwardingSlaveBase::listDir(url);
++
++ KUrl actual;
++ rewriteUrl(url, actual);
++
++ QDBusInterface kded("org.kde.kded", "/modules/desktopnotifier", "org.kde.DesktopNotifier");
++ kded.call("watchDir", actual.path());
++}
++
+ QString DesktopProtocol::desktopFile(KIO::UDSEntry &entry) const
+ {
+ const QString name = entry.stringValue(KIO::UDSEntry::UDS_NAME);
diff --git a/kde-base/kdebase-kioslaves/kdebase-kioslaves-4.3.5.ebuild b/kde-base/kdebase-kioslaves/kdebase-kioslaves-4.3.5-r1.ebuild
index e3d5a2cf29f7..9ec96c3a9358 100644
--- a/kde-base/kdebase-kioslaves/kdebase-kioslaves-4.3.5.ebuild
+++ b/kde-base/kdebase-kioslaves/kdebase-kioslaves-4.3.5-r1.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/kde-base/kdebase-kioslaves/kdebase-kioslaves-4.3.5.ebuild,v 1.1 2010/01/25 14:55:52 scarabeus Exp $
+# $Header: /var/cvsroot/gentoo-x86/kde-base/kdebase-kioslaves/kdebase-kioslaves-4.3.5-r1.ebuild,v 1.1 2010/01/27 10:40:51 scarabeus Exp $
EAPI="2"
@@ -39,6 +39,8 @@ KMEXTRA="
kdeeject
"
+PATCHES=( "${FILESDIR}/${PV}-"* )
+
src_configure() {
mycmakeargs=(
$(cmake-utils_use_with bzip2 BZip2)