diff --git a/qt-everywhere-opensource-src-4.6.3-glib_eventloop_nullcheck.patch b/qt-everywhere-opensource-src-4.6.3-glib_eventloop_nullcheck.patch new file mode 100644 index 0000000..a7a577f --- /dev/null +++ b/qt-everywhere-opensource-src-4.6.3-glib_eventloop_nullcheck.patch @@ -0,0 +1,13 @@ +diff -up qt-everywhere-opensource-src-4.6.3/src/gui/kernel/qapplication.cpp.grass qt-everywhere-opensource-src-4.6.3/src/gui/kernel/qapplication.cpp +diff -up qt-everywhere-opensource-src-4.6.3/src/gui/kernel/qguieventdispatcher_glib.cpp.grass qt-everywhere-opensource-src-4.6.3/src/gui/kernel/qguieventdispatcher_glib.cpp +--- qt-everywhere-opensource-src-4.6.3/src/gui/kernel/qguieventdispatcher_glib.cpp.grass 2010-06-01 21:03:15.000000000 -0500 ++++ qt-everywhere-opensource-src-4.6.3/src/gui/kernel/qguieventdispatcher_glib.cpp 2010-06-29 12:07:58.545073715 -0500 +@@ -177,6 +177,8 @@ QGuiEventDispatcherGlibPrivate::QGuiEven + memset(&x11EventSource->pollfd, 0, sizeof(GPollFD)); + x11EventSource->flags = QEventLoop::AllEvents; + x11EventSource->q = 0; ++ // workaround NULL dereference https://bugzilla.redhat.com/show_bug.cgi?id=498111#c59 -- Rex ++ if (x11EventSource->d) + x11EventSource->d = 0; + + g_source_attach(&x11EventSource->source, mainContext); diff --git a/qt.spec b/qt.spec index 9b147a7..d6d1b92 100644 --- a/qt.spec +++ b/qt.spec @@ -19,7 +19,7 @@ Summary: Qt toolkit Name: qt Epoch: 1 Version: 4.7.0 -Release: 0.20.%{pre}%{?dist} +Release: 0.21.%{pre}%{?dist} # See LGPL_EXCEPTIONS.txt, LICENSE.GPL3, respectively, for exception details License: LGPLv2 with exceptions or GPLv3 with exceptions @@ -49,6 +49,9 @@ Patch19: qt-x11-opensource-src-4.5.1-phonon.patch # use system ca-bundle certs, http://bugzilla.redhat.com/521911 Patch22: qt-x11-opensource-src-4.5.3-system_ca_certificates.patch Requires: ca-certificates +# may be upstreamable, not sure yet +# workaround for gdal/grass crashers wrt glib_eventloop null deref's +Patch23: qt-everywhere-opensource-src-4.6.3-glib_eventloop_nullcheck.patch ## upstreamable bits # fix invalid inline assembly in qatomic_{i386,x86_64}.h (de)ref implementations @@ -418,6 +421,7 @@ Qt libraries used for drawing widgets and OpenGL items. %patch16 -p1 -b .kde4_plugins %patch19 -p1 -b .servicesfile %patch22 -p1 -b .system_ca_certificates +%patch23 -p1 -b .glib_eventloop_nullcheck ## TODO: still worth carrying? if so, upstream it. %patch53 -p1 -b .qatomic-inline-asm ## TODO: upstream me @@ -1084,6 +1088,9 @@ fi %changelog +* Tue Jun 29 2010 Rex Dieter 4.7.0-0.20.beta1 - avoid timestamps in uic-generated files to be multilib-friendly