[kdemultimedia/f15] more kmix_pulse_memleak work (kde#264089)

Rex Dieter rdieter at fedoraproject.org
Tue Jul 12 20:47:22 UTC 2011


commit bfc2b397d1d7c963094d415a1440808841342bb0
Author: Rex Dieter <rdieter at fedoraproject.org>
Date:   Tue Jul 12 15:52:30 2011 -0500

    more kmix_pulse_memleak work (kde#264089)

 kdemultimedia-4.6.95-kmix_pulse_memleak.patch |   53 +++++++++++++++++++++++++
 kdemultimedia.spec                            |    9 ++++-
 2 files changed, 61 insertions(+), 1 deletions(-)
---
diff --git a/kdemultimedia-4.6.95-kmix_pulse_memleak.patch b/kdemultimedia-4.6.95-kmix_pulse_memleak.patch
new file mode 100644
index 0000000..00335ac
--- /dev/null
+++ b/kdemultimedia-4.6.95-kmix_pulse_memleak.patch
@@ -0,0 +1,53 @@
+--- trunk/KDE/kdemultimedia/kmix/backends/mixer_pulse.cpp	2011/07/12 18:58:53	1241345
++++ trunk/KDE/kdemultimedia/kmix/backends/mixer_pulse.cpp	2011/07/12 19:01:32	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;
+ }
+ 
diff --git a/kdemultimedia.spec b/kdemultimedia.spec
index e48e42d..e4344ae 100644
--- a/kdemultimedia.spec
+++ b/kdemultimedia.spec
@@ -10,7 +10,7 @@
 Name:    kdemultimedia
 Epoch:   6
 Version: 4.6.5
-Release: 1%{?dist}
+Release: 2%{?dist}
 Summary: KDE Multimedia applications
 
 Group:   Applications/Multimedia
@@ -23,6 +23,8 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 Patch1: kdemultimedia-4.6.2-no_thumbs.patch 
 
 ## upstream patches
+# http://websvn.kde.org/?revision=1241346&view=revision
+Patch100: kdemultimedia-4.6.95-kmix_pulse_memleak.patch
 
 # This one is normal, FLAC_OGG_LIBRARY is not actually used anyway:
 # FLAC_OGG_LIBRARY:FILEPATH=FLAC_OGG_LIBRARY-NOTFOUND
@@ -163,6 +165,8 @@ Requires: %{name}-kio_audiocd = %{?epoch:%{epoch}:}%{version}-%{release}
 %prep
 %setup -q -n kdemultimedia-%{version}%{?alphatag}
 
+%patch100 -p3 -b .kmix_pulse_memleak
+
 # no mplayerthumbs/ffmpegthumbs
 %patch1 -p1 -b .no_thumbs
 
@@ -385,6 +389,9 @@ fi
 
 
 %changelog
+* Tue Jul 12 2011 Rex Dieter <rdieter at fedoraproject.org> 6:4.6.5-2
+- more kmix_pulse_memleak work (kde#264089)
+
 * Fri Jul 01 2011 Jaroslav Reznik <jreznik at redhat.com> - 6:4.6.5-1
 - 4.6.5
 


More information about the scm-commits mailing list