git » kinfocenter.git » commit 9582fdb

Fix freeze in OpenGL module (FS#45749)

author Antonio Rojas
2015-07-23 06:12:18 UTC
committer Antonio Rojas
2015-07-23 06:12:18 UTC
parent 644628130cc05864cbb815c5120a45e8152b9e9d

Fix freeze in OpenGL module (FS#45749)

PKGBUILD +9 -4
fix-opengl-freeze.patch +33 -0

diff --git a/PKGBUILD b/PKGBUILD
index 34e7a4d..82951c3 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -4,7 +4,7 @@
 
 pkgname=kinfocenter
 pkgver=5.3.2
-pkgrel=1
+pkgrel=2
 pkgdesc='A utility that provides information about a computer system'
 arch=('i686' 'x86_64')
 url='https://www.kde.org/applications/system/kinfocenter/'
@@ -14,13 +14,18 @@ makedepends=('extra-cmake-modules' 'kdoctools' 'python' 'plasma-framework')
 conflicts=('kdebase-workspace')
 groups=('plasma')
 source=("http://download.kde.org/stable/plasma/${pkgver}/$pkgname-$pkgver.tar.xz" 
-'archlinux-logo.svg::https://sources.archlinux.org/other/artwork/archlinux-logo-dark-scalable.svg' 'kcm-about-distrorc')
+'archlinux-logo.svg::https://sources.archlinux.org/other/artwork/archlinux-logo-dark-scalable.svg' 'kcm-about-distrorc' 'fix-opengl-freeze.patch')
 md5sums=('baf95f4bd09e886f3d25b5f2799cf2d8'
          '518881f04ca9d4bd8526008767e40ba7'
-         '4b4e2496ea1de3a09de501b5d508f666')
+         '4b4e2496ea1de3a09de501b5d508f666'
+         '5f2f0db6fec3f6dcd0857122918a0e3d')
 
 prepare() {
-  mkdir build
+  mkdir -p build
+
+# Fix freeze in OpenGL module https://bugs.kde.org/show_bug.cgi?id=344971
+  cd $pkgname-$pkgver
+  patch -p1 -i "$srcdir"/fix-opengl-freeze.patch
 }
 
 build() {
diff --git a/fix-opengl-freeze.patch b/fix-opengl-freeze.patch
new file mode 100644
index 0000000..2b101cb
--- /dev/null
+++ b/fix-opengl-freeze.patch
@@ -0,0 +1,33 @@
+From: Martin Gräßlin <mgraesslin@kde.org>
+Date: Wed, 03 Jun 2015 15:37:28 +0000
+Subject: Remove querying the indirect rendering context
+X-Git-Url: http://quickgit.kde.org/?p=kinfocenter.git&a=commitdiff&h=9f9814219d899a64dd5b68711534ec7206858147
+---
+Remove querying the indirect rendering context
+
+Mesa fails to make an indirect rendering context current and freezes
+in the next X11 call.
+
+Removing indirect rendering support seems like a workaround for the
+problem, but realisticly it's no longer interesting what indirect
+rendering provides if direct rendering is available. If direct
+rendering is not available, it will pick indirect instead.
+
+BUG: 344971
+FIXED-IN: 5.4.0
+REVIEW: 123995
+---
+
+
+--- a/Modules/opengl/opengl.cpp
++++ b/Modules/opengl/opengl.cpp
+@@ -933,8 +933,6 @@
+ 
+             l2 = get_gl_info_glx(dpy, scrnum, true, l1, l2);
+             if (l2) l2->setExpanded(true);
+-
+-            if (IsDirect) l2 = get_gl_info_glx(dpy, scrnum, false, l1, l2);
+ #endif
+ #if KCM_HAVE_EGL
+             l2 = get_gl_info_egl(dpy, scrnum, l1, l2);
+