git » libkscreen.git » commit 9ae9fdd

Fix crash (FS#40242)

author Andrea Scarpino
2014-05-07 15:48:34 UTC
committer Andrea Scarpino
2014-05-07 15:48:34 UTC
parent 813242972f0de8904c4e342025de8256ffba8282

Fix crash (FS#40242)

PKGBUILD +8 -3
fix-crash.patch +53 -0

diff --git a/PKGBUILD b/PKGBUILD
index 945b049..467667a 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -3,18 +3,23 @@
 
 pkgname=libkscreen
 pkgver=1.0.3
-pkgrel=1
+pkgrel=2
 pkgdesc="KDE's screen management library"
 arch=('i686' 'x86_64')
 url='https://projects.kde.org/libkscreen'
 license=('GPL')
 depends=('kdelibs' 'qjson')
 makedepends=('cmake' 'automoc4')
-source=("http://download.kde.org/stable/${pkgname}/${pkgver}/src/${pkgname}-${pkgver}.tar.xz")
-md5sums=('7048db071d669193f8dafc9a1319998b')
+source=("http://download.kde.org/stable/${pkgname}/${pkgver}/src/${pkgname}-${pkgver}.tar.xz"
+        'fix-crash.patch')
+md5sums=('7048db071d669193f8dafc9a1319998b'
+         'fef9233861b848d569c015f6095d390a')
 
 prepare() {
   mkdir build
+
+  cd $pkgname-$pkgver
+  patch -p1 -i "$srcdir"/fix-crash.patch
 }
 
 build() {
diff --git a/fix-crash.patch b/fix-crash.patch
new file mode 100644
index 0000000..a385edc
--- /dev/null
+++ b/fix-crash.patch
@@ -0,0 +1,53 @@
+From: Aleix Pol <aleixpol@kde.org>
+Date: Mon, 05 May 2014 13:13:25 +0000
+Subject: Fix crash
+X-Git-Url: http://quickgit.kde.org/?p=libkscreen.git&a=commitdiff&h=221dff2e2f9fbd1c18eae9b59f23b1dbbdb1870b
+---
+Fix crash
+
+If we don't have a primary output, don't query it. Set a new primary
+output instead.
+
+Reviewed by Alex Fiestas
+---
+
+
+--- a/backends/xrandr/xrandrconfig.cpp
++++ b/backends/xrandr/xrandrconfig.cpp
+@@ -157,7 +157,7 @@
+         output->updateKScreenOutput(kscreenOutput);
+     }
+ 
+-    if (config->primaryOutput()->id() != m_primaryOutput) {
++    if (!config->primaryOutput() || config->primaryOutput()->id() != m_primaryOutput) {
+         config->setPrimaryOutput(config->output(m_primaryOutput));
+     }
+ }
+
+From: Aleix Pol <aleixpol@kde.org>
+Date: Tue, 06 May 2014 13:55:16 +0000
+Subject: Don't crash when printing a null KScreen::Output* from qDebug
+X-Git-Url: http://quickgit.kde.org/?p=libkscreen.git&a=commitdiff&h=31f07fd26e6091dfd37c54fef3352a95182e5bba
+---
+Don't crash when printing a null KScreen::Output* from qDebug
+
+Reviewed by Alex Fiestas
+---
+
+
+--- a/src/output.cpp
++++ b/src/output.cpp
+@@ -425,7 +425,11 @@
+ 
+ QDebug operator<<(QDebug dbg, const KScreen::Output *output)
+ {
+-    dbg << "KScreen::Output(Id:" << output->id() <<", Name:" << output->name() << ")";
++    if(output) {
++        dbg << "KScreen::Output(Id:" << output->id() <<", Name:" << output->name() << ")";
++    } else {
++        dbg << "KScreen::Output(NULL)";
++    }
+     return dbg;
+ }
+ 
+