Package: release.debian.org
Severity: normal
User: release.debian....@packages.debian.org
Usertags: unblock

Please unblock package phonon

Hi! I'm requesting a pre approval for fixing #771138, severity important.

We have been contacted today by one of the upstreams of Phonon making us
note a patch that avoids a crash when no backend is in use.

The patch is just two lines. I'm attaching the debdiff.

The only entry in the changelog is:

* Add do_not_assume_existing_backend.patch to solve a crash when running
    without a backend (Closes: #771138).

Thanks in advance, Lisandro.

unblock phonon/4:4.8.0-4

-- System Information:
Debian Release: jessie/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 3.16-3-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
diff -Nru phonon-4.8.0/debian/changelog phonon-4.8.0/debian/changelog
--- phonon-4.8.0/debian/changelog	2014-09-28 14:39:29.000000000 -0300
+++ phonon-4.8.0/debian/changelog	2014-11-27 00:06:46.000000000 -0300
@@ -1,3 +1,11 @@
+phonon (4:4.8.0-4) UNRELEASED; urgency=medium
+
+  [ Lisandro Damián Nicanor Pérez Meyer ]
+  * Add do_not_assume_existing_backend.patch to solve a crash when running
+    without a backend (Closes: #771138).
+
+ -- Debian Qt/KDE Maintainers <debian-qt-...@lists.debian.org>  Thu, 27 Nov 2014 00:00:18 -0300
+
 phonon (4:4.8.0-3) unstable; urgency=medium
 
   * Remove debian/installgen, no longer used.
diff -Nru phonon-4.8.0/debian/patches/do_not_assume_existing_backend.patch phonon-4.8.0/debian/patches/do_not_assume_existing_backend.patch
--- phonon-4.8.0/debian/patches/do_not_assume_existing_backend.patch	1969-12-31 21:00:00.000000000 -0300
+++ phonon-4.8.0/debian/patches/do_not_assume_existing_backend.patch	2014-11-27 00:06:46.000000000 -0300
@@ -0,0 +1,40 @@
+commit ec5f8fc79338e15b69d24fd89b9fccf93049624f
+Author: Harald Sitter <sit...@kde.org>
+Date:   Wed Nov 26 23:28:06 2014 +0100
+
+    do not assume we have a backend when setting an output device
+    
+    random suggestion du jour: since debianesque distros are the only ones
+    allowing running without a backend (to my knowledge anyway), this fix
+    should be adopted there at the earliest convenient time.
+    
+    this change prevents a crash when run without a backend and getting device
+    changes as the Iface handling later on would directly call the cast output
+    without checking its validity. since the cast would always be null when
+    there is no backend we can just as well save time and return early.
+    
+    note: this is ultimately fallout from too excessive init() setup
+    when there is no backend, so the ideal fix would have been to abort the
+    setup there. given the limited testing exposure of alsa+phononserver+phonon
+    this less invasive fix is deemed more suitable for the existing code base
+    though.
+    (this lineup only happens with phononserver in the picture and that
+     bugger has already been killed off for plasma5)
+    
+    BUG: 341296
+    CCMAIL: pkg-kde-t...@lists.alioth.debian.org
+
+diff --git a/phonon/audiooutput.cpp b/phonon/audiooutput.cpp
+index 0768768..f118824 100644
+--- a/phonon/audiooutput.cpp
++++ b/phonon/audiooutput.cpp
+@@ -54,6 +54,9 @@ static inline bool callSetOutputDevice(AudioOutputPrivate *const d, const AudioO
+     if (pulse->isActive())
+         return pulse->setOutputDevice(d->getStreamUuid(), dev.index());
+ 
++    if (!d->backendObject())
++        return false;
++
+     Iface<IFACES2> iface(d);
+     if (iface) {
+         return iface->setOutputDevice(dev);
diff -Nru phonon-4.8.0/debian/patches/series phonon-4.8.0/debian/patches/series
--- phonon-4.8.0/debian/patches/series	2014-08-19 02:31:06.000000000 -0300
+++ phonon-4.8.0/debian/patches/series	2014-11-27 00:06:46.000000000 -0300
@@ -1,3 +1,6 @@
+# Backported patches
+do_not_assume_existing_backend.patch
+
 phonon-inc.patch
 phonon_is_not_forced_in_KDE.diff
 findqt4_optional_x11.diff

Reply via email to