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