Date: Monday, January 11, 2016 @ 11:28:19
  Author: fyan
Revision: 257942

upgpkg: qt5 5.5.1-8

Add a patch to avoid crashes with nvidia 361.16 drivers (FS#47703)

Added:
  qt5/trunk/fs47703.patch
Modified:
  qt5/trunk/PKGBUILD

---------------+
 PKGBUILD      |   10 +++++++---
 fs47703.patch |   49 +++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 56 insertions(+), 3 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD    2016-01-11 09:51:28 UTC (rev 257941)
+++ PKGBUILD    2016-01-11 10:28:19 UTC (rev 257942)
@@ -30,7 +30,7 @@
          'qt5-x11extras'
          'qt5-xmlpatterns')
 pkgver=5.5.1
-pkgrel=7
+pkgrel=8
 arch=('i686' 'x86_64')
 url='http://www.qt.io/developers'
 license=('GPL3' 'LGPL' 'FDL' 'custom')
@@ -44,16 +44,20 @@
 groups=('qt' 'qt5')
 _pkgfqn="qt-everywhere-opensource-src-${pkgver}"
 
source=("http://download.qt-project.org/official_releases/qt/${pkgver%.*}/${pkgver}/single/${_pkgfqn}.tar.xz";
-        'assistant.desktop' 'designer.desktop' 'linguist.desktop' 
'qdbusviewer.desktop')
+        'assistant.desktop' 'designer.desktop' 'linguist.desktop' 
'qdbusviewer.desktop'
+        'fs47703.patch')
 md5sums=('c2a249e8795d45200d997d96860d0353'
          'b2897dd6a2967bccf8f10e397aafee55'
          '76e150b20178d2d43801f7367232e5f7'
          '188da8f4c87316e730ebf1c6217bf5a0'
-         '322b419b16c75d4de0ee7ad0a246caa1')
+         '322b419b16c75d4de0ee7ad0a246caa1'
+         'e710bb841ba2919bd3c9e10c80d67b0b')
 
 prepare() {
   cd ${_pkgfqn}
 
+  (cd qtbase; patch -p1 -i "$srcdir"/fs47703.patch)
+
   # Build qmake using Arch {C,LD}FLAGS
   # This also sets default {C,CXX,LD}FLAGS for projects built using qmake
   sed -i -e "s|^\(QMAKE_CFLAGS_RELEASE.*\)|\1 ${CFLAGS}|" \

Added: fs47703.patch
===================================================================
--- fs47703.patch                               (rev 0)
+++ fs47703.patch       2016-01-11 10:28:19 UTC (rev 257942)
@@ -0,0 +1,49 @@
+From f6ba546d57018ddd2bfdc226db498f12a0c2d8bf Mon Sep 17 00:00:00 2001
+From: =?utf8?q?D=C4=81vis=20Mos=C4=81ns?= <davis...@gmail.com>
+Date: Fri, 8 Jan 2016 04:12:13 +0200
+Subject: [PATCH] Don't pass NULL Display to glXGetClientString
+
+glXGetCurrentDisplay can return NULL so need to check
+for that.
+
+Change-Id: I1b85a5c575d1deb24dcce4719b6f737283adeabe
+---
+ .../platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp        | 5 ++++-
+ .../platforms/xcb/gl_integrations/xcb_glx/qxcbglxintegration.cpp     | 5 ++++-
+ 2 files changed, 8 insertions(+), 2 deletions(-)
+
+diff --git 
a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp 
b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
+index 8b14fc7..3412f3f 100644
+--- a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
++++ b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
+@@ -644,7 +644,10 @@ void QGLXContext::queryDummyContext()
+         oldSurface = oldContext->surface();
+ 
+     QScopedPointer<QSurface> surface;
+-    const char *glxvendor = glXGetClientString(glXGetCurrentDisplay(), 
GLX_VENDOR);
++    Display *display = glXGetCurrentDisplay();
++    const char *glxvendor = 0;
++    if (display)
++        glxvendor = glXGetClientString(display, GLX_VENDOR);
+     if (glxvendor && !strcmp(glxvendor, "ATI")) {
+         QWindow *window = new QWindow;
+         window->resize(64, 64);
+diff --git 
a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qxcbglxintegration.cpp 
b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qxcbglxintegration.cpp
+index ce72cb6..cd4949af 100644
+--- a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qxcbglxintegration.cpp
++++ b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qxcbglxintegration.cpp
+@@ -195,7 +195,10 @@ QPlatformOffscreenSurface 
*QXcbGlxIntegration::createPlatformOffscreenSurface(QO
+     static bool glxPbufferUsable = true;
+     if (!vendorChecked) {
+         vendorChecked = true;
+-        const char *glxvendor = glXGetClientString(glXGetCurrentDisplay(), 
GLX_VENDOR);
++        Display *display = glXGetCurrentDisplay();
++        const char *glxvendor = 0;
++        if (display)
++            glxvendor = glXGetClientString(display, GLX_VENDOR);
+         if (glxvendor && !strcmp(glxvendor, "ATI"))
+             glxPbufferUsable = false;
+     }
+-- 
+2.6.2.2.g1b5ffa3
+

Reply via email to