summaryrefslogtreecommitdiff
path: root/kde-unstable
diff options
context:
space:
mode:
authorNicolas Reynolds <fauno@kiwwwi.com.ar>2011-07-14 00:05:25 -0300
committerNicolas Reynolds <fauno@kiwwwi.com.ar>2011-07-14 00:05:25 -0300
commit598db82f25ffe3557e395a11f379de65af9e1ac1 (patch)
tree25c3a9daab9b120705adf30fc5924b69538f7184 /kde-unstable
parent460c42fc8cd82ed4a7dda7031254c845cec5a9c3 (diff)
parent29657877f6a02dbba1bd58b417b4ccd211939690 (diff)
Merge branch 'master' of ssh://vparabola/home/parabola/abslibre-pre-mips64el
Conflicts: extra/kdegraphics/PKGBUILD extra/kdelibs/PKGBUILD extra/kdemultimedia/PKGBUILD kde-unstable/kdeaccessibility/PKGBUILD kde-unstable/kdeadmin/PKGBUILD kde-unstable/kdeartwork/PKGBUILD kde-unstable/kdebase-konsole/PKGBUILD kde-unstable/kdebase-runtime/PKGBUILD kde-unstable/kdebase-workspace/PKGBUILD kde-unstable/kdebase/PKGBUILD kde-unstable/kdebindings-kimono/PKGBUILD kde-unstable/kdebindings-korundum/PKGBUILD kde-unstable/kdebindings-kross/PKGBUILD kde-unstable/kdebindings-perlkde/PKGBUILD kde-unstable/kdebindings-perlqt/PKGBUILD kde-unstable/kdebindings-python/PKGBUILD kde-unstable/kdebindings-qtruby/PKGBUILD kde-unstable/kdebindings-qyoto/PKGBUILD kde-unstable/kdebindings-smokegen/PKGBUILD kde-unstable/kdebindings-smokekde/PKGBUILD kde-unstable/kdebindings-smokeqt/PKGBUILD kde-unstable/kdeedu-blinken/PKGBUILD kde-unstable/kdeedu-cantor/PKGBUILD kde-unstable/kdeedu-kalgebra/PKGBUILD kde-unstable/kdeedu-kalzium/PKGBUILD kde-unstable/kdeedu-kanagram/PKGBUILD kde-unstable/kdeedu-kbruch/PKGBUILD kde-unstable/kdeedu-kgeography/PKGBUILD kde-unstable/kdeedu-khangman/PKGBUILD kde-unstable/kdeedu-kig/PKGBUILD kde-unstable/kdeedu-kiten/PKGBUILD kde-unstable/kdeedu-klettres/PKGBUILD kde-unstable/kdeedu-kmplot/PKGBUILD kde-unstable/kdeedu-kstars/PKGBUILD kde-unstable/kdeedu-ktouch/PKGBUILD kde-unstable/kdeedu-kturtle/PKGBUILD kde-unstable/kdeedu-kwordquiz/PKGBUILD kde-unstable/kdeedu-marble/PKGBUILD kde-unstable/kdeedu-parley/PKGBUILD kde-unstable/kdeedu-rocs/PKGBUILD kde-unstable/kdeedu-step/PKGBUILD kde-unstable/kdegames/PKGBUILD kde-unstable/kdegraphics-gwenview/PKGBUILD kde-unstable/kdegraphics-kamera/PKGBUILD kde-unstable/kdegraphics-kcolorchooser/PKGBUILD kde-unstable/kdegraphics-kgamma/PKGBUILD kde-unstable/kdegraphics-kolourpaint/PKGBUILD kde-unstable/kdegraphics-kruler/PKGBUILD kde-unstable/kdegraphics-ksaneplugin/PKGBUILD kde-unstable/kdegraphics-ksnapshot/PKGBUILD kde-unstable/kdegraphics-okular/PKGBUILD kde-unstable/kdegraphics-strigi-analyzer/PKGBUILD kde-unstable/kdegraphics-svgpart/PKGBUILD kde-unstable/kdegraphics-thumbnailers/PKGBUILD kde-unstable/kdelibs/PKGBUILD kde-unstable/kdemultimedia/PKGBUILD kde-unstable/kdenetwork/PKGBUILD kde-unstable/kdepim-runtime/PKGBUILD kde-unstable/kdepim/PKGBUILD kde-unstable/kdepimlibs/PKGBUILD kde-unstable/kdeplasma-addons/PKGBUILD kde-unstable/kdesdk-kate/PKGBUILD kde-unstable/kdesdk/PKGBUILD kde-unstable/kdetoys/PKGBUILD kde-unstable/kdeutils/PKGBUILD kde-unstable/kdewebdev/PKGBUILD kde-unstable/libkdcraw/PKGBUILD kde-unstable/libkdeedu/PKGBUILD kde-unstable/libkexiv2/PKGBUILD kde-unstable/libkipi/PKGBUILD kde-unstable/libksane/PKGBUILD
Diffstat (limited to 'kde-unstable')
-rw-r--r--kde-unstable/kdebase-runtime/fix-nepomuk-cpu-usage.patch133
-rw-r--r--kde-unstable/kdemultimedia/fix-memleak-in-kmix.patch55
2 files changed, 188 insertions, 0 deletions
diff --git a/kde-unstable/kdebase-runtime/fix-nepomuk-cpu-usage.patch b/kde-unstable/kdebase-runtime/fix-nepomuk-cpu-usage.patch
new file mode 100644
index 000000000..545072807
--- /dev/null
+++ b/kde-unstable/kdebase-runtime/fix-nepomuk-cpu-usage.patch
@@ -0,0 +1,133 @@
+commit 327ec9a67af653467b670115ebb3e26b00183c1d
+Author: Sebastian Trueg <trueg@kde.org>
+Date: Thu Jul 7 17:33:23 2011 +0200
+
+ Throttle the IndexCleaner the same way we do with the IndexScheduler.
+
+ BUG: 276593
+
+diff --git a/nepomuk/services/strigi/indexcleaner.cpp b/nepomuk/services/strigi/indexcleaner.cpp
+index 5c604ab..9198d0b 100644
+--- a/nepomuk/services/strigi/indexcleaner.cpp
++++ b/nepomuk/services/strigi/indexcleaner.cpp
+@@ -47,7 +47,8 @@ using namespace Soprano::Vocabulary;
+
+
+ Nepomuk::IndexCleaner::IndexCleaner(QObject* parent)
+- : KJob(parent)
++ : KJob(parent),
++ m_delay(0)
+ {
+ setCapabilities( Suspendable );
+ }
+@@ -268,7 +269,7 @@ void Nepomuk::IndexCleaner::slotRemoveResourcesDone(KJob* job)
+
+ QMutexLocker lock(&m_stateMutex);
+ if( !m_suspended ) {
+- clearNextBatch();
++ QTimer::singleShot(m_delay, this, SLOT(clearNextBatch()));
+ }
+ }
+
+@@ -313,4 +314,9 @@ bool Nepomuk::IndexCleaner::doResume()
+ return true;
+ }
+
++void Nepomuk::IndexCleaner::setDelay(int msecs)
++{
++ m_delay = msecs;
++}
++
+ #include "indexcleaner.moc"
+diff --git a/nepomuk/services/strigi/indexcleaner.h b/nepomuk/services/strigi/indexcleaner.h
+index e1c38ca..bf0713e 100644
+--- a/nepomuk/services/strigi/indexcleaner.h
++++ b/nepomuk/services/strigi/indexcleaner.h
+@@ -41,6 +41,16 @@ namespace Nepomuk {
+ virtual bool doSuspend();
+ virtual bool doResume();
+
++ public slots:
++ /**
++ * Set the delay between the cleanup queries.
++ * Used for throtteling the cleaner to not grab too
++ * many resources. Default is 0.
++ *
++ * \sa IndexScheduler::setIndexingSpeed()
++ */
++ void setDelay(int msecs);
++
+ private slots:
+ void clearNextBatch();
+ void slotRemoveResourcesDone(KJob* job);
+@@ -52,6 +62,7 @@ namespace Nepomuk {
+
+ QMutex m_stateMutex;
+ bool m_suspended;
++ int m_delay;
+ };
+ }
+
+diff --git a/nepomuk/services/strigi/indexscheduler.cpp b/nepomuk/services/strigi/indexscheduler.cpp
+index 3c92657..f3c6c36 100644
+--- a/nepomuk/services/strigi/indexscheduler.cpp
++++ b/nepomuk/services/strigi/indexscheduler.cpp
+@@ -208,7 +208,7 @@ Nepomuk::IndexScheduler::IndexScheduler( QObject* parent )
+ : QObject( parent ),
+ m_suspended( false ),
+ m_indexing( false ),
+- m_speed( FullSpeed )
++ m_indexingDelay( 0 )
+ {
+ m_cleaner = new IndexCleaner(this);
+ connect( m_cleaner, SIGNAL(finished(KJob*)), this, SLOT(slotCleaningDone()) );
+@@ -266,7 +266,13 @@ void Nepomuk::IndexScheduler::setSuspended( bool suspended )
+ void Nepomuk::IndexScheduler::setIndexingSpeed( IndexingSpeed speed )
+ {
+ kDebug() << speed;
+- m_speed = speed;
++ m_indexingDelay = 0;
++ if ( speed != FullSpeed ) {
++ m_indexingDelay = (speed == ReducedSpeed) ? s_reducedSpeedDelay : s_snailPaceDelay;
++ }
++ if( m_cleaner ) {
++ m_cleaner->setDelay(m_indexingDelay);
++ }
+ }
+
+
+@@ -481,11 +487,7 @@ bool Nepomuk::IndexScheduler::analyzeDir( const QString& dir_, Nepomuk::IndexSch
+ void Nepomuk::IndexScheduler::callDoIndexing()
+ {
+ if( !m_suspended ) {
+- uint delay = 0;
+- if ( m_speed != FullSpeed ) {
+- delay = (m_speed == ReducedSpeed) ? s_reducedSpeedDelay : s_snailPaceDelay;
+- }
+- QTimer::singleShot( delay, this, SLOT(doIndexing()) );
++ QTimer::singleShot( m_indexingDelay, this, SLOT(doIndexing()) );
+ }
+ }
+
+diff --git a/nepomuk/services/strigi/indexscheduler.h b/nepomuk/services/strigi/indexscheduler.h
+index 9ae1f18..8756206 100644
+--- a/nepomuk/services/strigi/indexscheduler.h
++++ b/nepomuk/services/strigi/indexscheduler.h
+@@ -121,8 +121,6 @@ namespace Nepomuk {
+ SnailPace
+ };
+
+- IndexingSpeed currentSpeed() const { return m_speed; }
+-
+ public Q_SLOTS:
+ void suspend();
+ void resume();
+@@ -226,7 +224,7 @@ namespace Nepomuk {
+ QString m_currentFolder;
+ KUrl m_currentUrl;
+
+- IndexingSpeed m_speed;
++ int m_indexingDelay;
+ IndexCleaner* m_cleaner;
+ };
+
diff --git a/kde-unstable/kdemultimedia/fix-memleak-in-kmix.patch b/kde-unstable/kdemultimedia/fix-memleak-in-kmix.patch
new file mode 100644
index 000000000..31ea4a606
--- /dev/null
+++ b/kde-unstable/kdemultimedia/fix-memleak-in-kmix.patch
@@ -0,0 +1,55 @@
+Index: kdemultimedia/kmix/backends/mixer_pulse.cpp
+===================================================================
+--- kdemultimedia/kmix/backends/mixer_pulse.cpp (revision 1241345)
++++ kdemultimedia/kmix/backends/mixer_pulse.cpp (revision 1241346)
+@@ -754,7 +754,12 @@
+ return;
+ }
+ addDevice((*map)[index]);
+- emit controlsReconfigured(_mixer->id());
++ // Do not emit directly to ensure all connected slots are executed
++ // in their own event loop.
++ QMetaObject::invokeMethod(this,
++ "controlsReconfigured",
++ Qt::QueuedConnection,
++ Q_ARG(QString, _mixer->id()));
+ }
+
+ void Mixer_PULSE::removeWidget(int index)
+@@ -778,7 +783,12 @@
+ {
+ delete *iter;
+ m_mixDevices.erase(iter);
+- emit controlsReconfigured(_mixer->id());
++ // Do not emit directly to ensure all connected slots are executed
++ // in their own event loop.
++ QMetaObject::invokeMethod(this,
++ "controlsReconfigured",
++ Qt::QueuedConnection,
++ Q_ARG(QString, _mixer->id()));
+ return;
+ }
+ }
+@@ -799,7 +809,12 @@
+ delete *iter;
+ m_mixDevices.erase(iter);
+ }
+- emit controlsReconfigured(_mixer->id());
++ // Do not emit directly to ensure all connected slots are executed
++ // in their own event loop.
++ QMetaObject::invokeMethod(this,
++ "controlsReconfigured",
++ Qt::QueuedConnection,
++ Q_ARG(QString, _mixer->id()));
+ }
+
+ void Mixer_PULSE::addDevice(devinfo& dev)
+@@ -990,7 +1005,7 @@
+ kDebug(67100) << "Using PulseAudio for mixer: " << m_mixerName;
+ m_isOpen = true;
+ }
+-
++
+ return 0;
+ }
+