[SCM] KDE Multimedia module packaging branch, master, updated. debian/4.6.5-3-6-gbd4124d
José Manuel Santamaría Lema
santa-guest at alioth.debian.org
Sun Sep 25 16:37:51 UTC 2011
The following commit has been merged in the master branch:
commit 9f53aad0609b0352dccd7aa21987e796c5097f91
Author: Daniele E. Domenichelli <daniele.domenichelli at gmail.com>
Date: Sun Sep 25 10:23:12 2011 +0100
Removed kmix_memleak_pulse.diff (upstream)
---
debian/changelog | 1 +
debian/patches/kmix_memleak_pulse.diff | 86 --------------------------------
debian/patches/series | 1 -
3 files changed, 1 insertions(+), 87 deletions(-)
diff --git a/debian/changelog b/debian/changelog
index 29e8e9b..12ac82f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -8,6 +8,7 @@ kdemultimedia (4:4.7.1-0r0) UNRELEASED; urgency=low
[ Daniele E. Domenichelli ]
* Bump kde-sc-dev-latest build dependency to 4:4.7.1.
* Bump kdelibs5-dev build dependency to 4:4.7
+ * Removed kmix_memleak_pulse.diff (upstream)
-- Debian Qt/KDE Maintainers <debian-qt-kde at lists.debian.org> Sun, 25 Sep 2011 09:50:44 +0100
diff --git a/debian/patches/kmix_memleak_pulse.diff b/debian/patches/kmix_memleak_pulse.diff
deleted file mode 100644
index a4b3bc5..0000000
--- a/debian/patches/kmix_memleak_pulse.diff
+++ /dev/null
@@ -1,86 +0,0 @@
-Author: Harald Sitter <sitter at kde.org>
-Origin: http://websvn.kde.org/?view=revision&revision=1241346
-Description: Fix a memory leak with kmix pulse backend.
- This is the text of the commit message:
-
- Do not emit signals directly but queue invokeMethod them to resolve
- a memleak in KMix/Oxygen caused by PA callbacks.
-
- Oxygen internally uses deleteLater to remove fancy animations from widgets.
- Every time PA changes its sinks (for example on track change in a Phonon player),
- KMix recreates its sliders thus causing animation creation inside the oxygen style.
- On deletion of old sliders the oxygen additions should get deleted.
- However since the switching originates in a direct call
- chain from PA (via callback -> mixer impl -> emit -> kmix UI internals -> oxygen) the
- deleteLater does not actually do anything and never gets executed thus leaking memory
- big time (12 hours of music -> >100MB of leaked memory).
- To resolve this issue the PA mixer now does not directly emit signals anymore (which
- translates to a direct function call) but instead uses the mixer's QMetaObject to
- deploy a queued invokeMethod call to the signal (therefore forcing queued emission
- and execution in the QEventLoop/QThread of the target, which in our case is the
- main application thread rather than the calling back PA thread).
- This has the advantage that even additional connections to the mixer singals
- will always get a queued emission neverminding what the type of the actual
- connection is.
-
- Also this now should resolve the only remaining memleak with PA.
-
- CCMAIL: kde-multimedia at kde.org
- CCMAIL: kde-packager at kde.org
- CCMAIL: cguthrie at mandriva.org
- BUG: 264089
- CCBUG: 237239
-
---- a/kmix/backends/mixer_pulse.cpp
-+++ b/kmix/backends/mixer_pulse.cpp
-@@ -754,7 +754,12 @@ void Mixer_PULSE::addWidget(int index)
- 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 @@ void Mixer_PULSE::removeWidget(int index
- {
- 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 @@ void Mixer_PULSE::removeAllWidgets()
- 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 @@ int Mixer_PULSE::open()
- kDebug(67100) << "Using PulseAudio for mixer: " << m_mixerName;
- m_isOpen = true;
- }
--
-+
- return 0;
- }
-
diff --git a/debian/patches/series b/debian/patches/series
index 43d6741..b5e7d70 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,4 +1,3 @@
kmix_showeverywhere.diff
fix_target_link_libraries.diff
-kmix_memleak_pulse.diff
libav_compat.diff
--
KDE Multimedia module packaging
More information about the pkg-kde-commits
mailing list