slackware-current/source/l/qt/patches/qt-everywhere-opensource-src-4.6.3-glib_eventloop_nullcheck.patch
Patrick J Volkerding 125048ad7d Sat May 4 01:29:20 UTC 2019
d/gcc-9.1.0-x86_64-1.txz:  Upgraded.
d/gcc-brig-9.1.0-x86_64-1.txz:  Upgraded.
d/gcc-g++-9.1.0-x86_64-1.txz:  Upgraded.
d/gcc-gfortran-9.1.0-x86_64-1.txz:  Upgraded.
d/gcc-gnat-9.1.0-x86_64-1.txz:  Upgraded.
d/gcc-go-9.1.0-x86_64-1.txz:  Upgraded.
  Shared library .so-version bump.
d/gcc-objc-9.1.0-x86_64-1.txz:  Upgraded.
d/libtool-2.4.6-x86_64-11.txz:  Rebuilt.
  Recompiled to update embedded GCC version number.
d/llvm-8.0.0-x86_64-2.txz:  Rebuilt.
  Recompiled with -DLLVM_INSTALL_UTILS=ON. Thanks to Lockywolf.
d/swig-4.0.0-x86_64-1.txz:  Upgraded.
l/glib2-2.60.2-x86_64-1.txz:  Upgraded.
l/qt-4.8.7-x86_64-13.txz:  Rebuilt.
  Patched to fix FTBFS with gcc9 (also fixes FTBFS with qtscriptgenerator and
  possibly other projects that use qt4).
2019-05-04 08:59:47 +02:00

69 lines
2.9 KiB
Diff

diff -ur qt-everywhere-opensource-src-4.6.3/src/gui/kernel/qguieventdispatcher_glib.cpp qt-everywhere-opensource-src-4.6.3-glib_eventloop_nullcheck/src/gui/kernel/qguieventdispatcher_glib.cpp
--- qt-everywhere-opensource-src-4.6.3/src/gui/kernel/qguieventdispatcher_glib.cpp 2010-06-02 04:03:15.000000000 +0200
+++ qt-everywhere-opensource-src-4.6.3-glib_eventloop_nullcheck/src/gui/kernel/qguieventdispatcher_glib.cpp 2010-12-08 22:22:38.000000000 +0100
@@ -76,7 +76,7 @@
GX11EventSource *source = reinterpret_cast<GX11EventSource *>(s);
return (XEventsQueued(X11->display, QueuedAfterFlush)
|| (!(source->flags & QEventLoop::ExcludeUserInputEvents)
- && !source->d->queuedUserInputEvents.isEmpty()));
+ && source->d && !source->d->queuedUserInputEvents.isEmpty()));
}
static gboolean x11EventSourceCheck(GSource *s)
@@ -84,7 +84,7 @@
GX11EventSource *source = reinterpret_cast<GX11EventSource *>(s);
return (XEventsQueued(X11->display, QueuedAfterFlush)
|| (!(source->flags & QEventLoop::ExcludeUserInputEvents)
- && !source->d->queuedUserInputEvents.isEmpty()));
+ && source->d && !source->d->queuedUserInputEvents.isEmpty()));
}
static gboolean x11EventSourceDispatch(GSource *s, GSourceFunc callback, gpointer user_data)
@@ -95,7 +95,7 @@
do {
XEvent event;
if (!(source->flags & QEventLoop::ExcludeUserInputEvents)
- && !source->d->queuedUserInputEvents.isEmpty()) {
+ && source->d && !source->d->queuedUserInputEvents.isEmpty()) {
// process a pending user input event
event = source->d->queuedUserInputEvents.takeFirst();
} else if (XEventsQueued(X11->display, QueuedAlready)) {
@@ -112,7 +112,8 @@
case XKeyRelease:
case EnterNotify:
case LeaveNotify:
- source->d->queuedUserInputEvents.append(event);
+ if (source->d)
+ source->d->queuedUserInputEvents.append(event);
continue;
case ClientMessage:
@@ -127,7 +128,8 @@
break;
}
}
- source->d->queuedUserInputEvents.append(event);
+ if (source->d)
+ source->d->queuedUserInputEvents.append(event);
continue;
default:
@@ -140,7 +142,7 @@
}
// send through event filter
- if (source->q->filterEvent(&event))
+ if (source->q && source->q->filterEvent(&event))
continue;
if (qApp->x11ProcessEvent(&event) == 1)
@@ -152,7 +154,8 @@
out:
- source->d->runTimersOnceWithNormalPriority();
+ if (source->d)
+ source->d->runTimersOnceWithNormalPriority();
if (callback)
callback(user_data);