[arch-commits] Commit in kdemultimedia/kde-unstable (2 files)

Andrea Scarpino andrea at archlinux.org
Tue Jul 12 15:24:04 EDT 2011


    Date: Tuesday, July 12, 2011 @ 15:24:04
  Author: andrea
Revision: 131351

Fix memleak in KMix BUG#264089

Added:
  kdemultimedia/kde-unstable/fix-memleak-in-kmix.patch
Modified:
  kdemultimedia/kde-unstable/PKGBUILD

---------------------------+
 PKGBUILD                  |    9 +++++--
 fix-memleak-in-kmix.patch |   55 ++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 62 insertions(+), 2 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2011-07-12 19:23:57 UTC (rev 131350)
+++ PKGBUILD	2011-07-12 19:24:04 UTC (rev 131351)
@@ -19,11 +19,16 @@
 makedepends=('pkgconfig' 'cmake' 'automoc4' 'kdelibs' 'tunepimp'
             'ffmpeg' 'mplayer' 'pulseaudio' 'libmusicbrainz3')
 source=("http://download.kde.org/unstable/${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2"
-        'mplayerthumbs.config')
+        'mplayerthumbs.config'
+        'fix-memleak-in-kmix.patch')
 sha1sums=('81c9755c5f1bf41b4af0452ba9522f23096f47a9'
-          'ba016fa2563c14ffcba852c62506b66bfc6ee683')
+          'ba016fa2563c14ffcba852c62506b66bfc6ee683'
+          '80370de30898f1ba1a6db057d34324abdcc57384')
 
 build() {
+    cd "${srcdir}"/${pkgbase}-${pkgver}
+    patch -p1 -i "${srcdir}"/fix-memleak-in-kmix.patch
+
     cd ${srcdir}
 	mkdir build
 	cd build

Added: fix-memleak-in-kmix.patch
===================================================================
--- fix-memleak-in-kmix.patch	                        (rev 0)
+++ fix-memleak-in-kmix.patch	2011-07-12 19:24:04 UTC (rev 131351)
@@ -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;
+ }
+ 



More information about the arch-commits mailing list