diff options
Diffstat (limited to 'extra/kdemultimedia')
-rw-r--r-- | extra/kdemultimedia/PKGBUILD | 13 | ||||
-rw-r--r-- | extra/kdemultimedia/fix-memleak-in-kmix.patch | 55 |
2 files changed, 64 insertions, 4 deletions
diff --git a/extra/kdemultimedia/PKGBUILD b/extra/kdemultimedia/PKGBUILD index 85973e455..2d943f9b6 100644 --- a/extra/kdemultimedia/PKGBUILD +++ b/extra/kdemultimedia/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 130262 2011-07-04 19:27:51Z andrea $ +# $Id: PKGBUILD 131350 2011-07-12 19:23:57Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> # Contributor: Pierre Schmitz <pierre@archlinux.de> @@ -11,7 +11,7 @@ pkgname=('kdemultimedia-dragonplayer' 'kdemultimedia-kscd' 'kdemultimedia-mplayerthumbs') pkgver=4.6.5 -pkgrel=1 +pkgrel=2 arch=('i686' 'x86_64') url='http://www.kde.org' license=('GPL' 'LGPL' 'FDL') @@ -19,11 +19,16 @@ groups=('kde' 'kdemultimedia') makedepends=('pkgconfig' 'cmake' 'automoc4' 'kdebase-runtime' 'tunepimp' 'ffmpeg' 'mplayer' 'pulseaudio' 'libmusicbrainz3') source=("http://download.kde.org/stable/${pkgver}/src/${pkgbase}-${pkgver}.tar.bz2" - 'mplayerthumbs.config') + 'mplayerthumbs.config' + 'fix-memleak-in-kmix.patch') sha1sums=('081bead5ee758d169f3119c138424929b001d04f' - 'ba016fa2563c14ffcba852c62506b66bfc6ee683') + 'ba016fa2563c14ffcba852c62506b66bfc6ee683' + '80370de30898f1ba1a6db057d34324abdcc57384') build() { + cd "${srcdir}"/${pkgbase}-${pkgver} + patch -p1 -i "${srcdir}"/fix-memleak-in-kmix.patch + cd ${srcdir} mkdir build cd build diff --git a/extra/kdemultimedia/fix-memleak-in-kmix.patch b/extra/kdemultimedia/fix-memleak-in-kmix.patch new file mode 100644 index 000000000..31ea4a606 --- /dev/null +++ b/extra/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; + } + |