]> git.ipfire.org Git - people/pmueller/ipfire-3.x.git/blobdiff - qt/patches/qt-everywhere-opensource-src-4.6.3-glib_eventloop_nullcheck.patch
qt: Update to version 4.8.1.
[people/pmueller/ipfire-3.x.git] / qt / patches / qt-everywhere-opensource-src-4.6.3-glib_eventloop_nullcheck.patch
index f0c9eaa944bf3d0fffc414e007688f31fa4c5fd0..d4e5924dffbe1cf0911c561cc47f02cc4c5e08b2 100644 (file)
@@ -1,7 +1,7 @@
-diff -up qt-everywhere-opensource-src-4.6.3/src/gui/kernel/qguieventdispatcher_glib.cpp.glib_eventloop_nullcheck 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.glib_eventloop_nullcheck    2010-06-01 21:03:15.000000000 -0500
-+++ qt-everywhere-opensource-src-4.6.3/src/gui/kernel/qguieventdispatcher_glib.cpp     2010-06-29 14:58:12.299073784 -0500
-@@ -76,7 +76,7 @@ static gboolean x11EventSourcePrepare(GS
+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)
@@ -10,7 +10,7 @@ diff -up qt-everywhere-opensource-src-4.6.3/src/gui/kernel/qguieventdispatcher_g
  }
  
  static gboolean x11EventSourceCheck(GSource *s)
-@@ -84,7 +84,7 @@ static gboolean x11EventSourceCheck(GSou
+@@ -84,7 +84,7 @@
      GX11EventSource *source = reinterpret_cast<GX11EventSource *>(s);
      return (XEventsQueued(X11->display, QueuedAfterFlush)
              || (!(source->flags & QEventLoop::ExcludeUserInputEvents)
@@ -19,3 +19,51 @@ diff -up qt-everywhere-opensource-src-4.6.3/src/gui/kernel/qguieventdispatcher_g
  }
  
  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);