--- trunk/qt4/patches/qt-4.8.7-l-qclipboard_fix_recursive.patch 2017/05/02 11:43:30 2916 +++ trunk/qt4/patches/qt-4.8.7-l-qclipboard_fix_recursive.patch 2017/05/17 09:04:25 2917 @@ -1,253 +1,94 @@ - - - -svntogit/packages.git - Git clone of the 'packages' repository - - - - - - - - - - - -
- -
- -
-
-
- - - -
-summaryrefslogtreecommitdiffstats
- - - -
-
-
path: root/trunk/l-qclipboard_fix_recursive.patch
blob: 6d3bf2f2cde25d8de2aca560bcdfd23d1e01817f (plain) - - -
1
-2
-3
-4
-5
-6
-7
-8
-9
-10
-11
-12
-13
-14
-15
-16
-17
-18
-19
-20
-21
-22
-23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-47
-48
-49
-50
-51
-52
-53
-54
-55
-56
-57
-58
-59
-60
-61
-62
-63
-64
-65
-66
-67
-68
-69
-70
-71
-72
-73
-74
-75
-76
-77
-78
-79
-80
-81
-82
-83
-84
-85
-86
-87
-88
-89
-90
-91
-92
-93
-94
-
--- src/corelib/kernel/qeventdispatcher_glib.cpp.sav	2014-03-28 15:26:37.000000000 +0100
-+++ src/corelib/kernel/qeventdispatcher_glib.cpp	2014-04-24 09:44:09.358659204 +0200
-@@ -255,22 +255,30 @@ struct GPostEventSource
+--- src/corelib/kernel/qeventdispatcher_glib.cpp.sav	2014-03-28 15:26:37.000000000 +0100
++++ src/corelib/kernel/qeventdispatcher_glib.cpp	2014-04-24 09:44:09.358659204 +0200
+@@ -255,22 +255,30 @@ struct GPostEventSource
      GSource source;
      QAtomicInt serialNumber;
      int lastSerialNumber;
-+    QEventLoop::ProcessEventsFlags processEventsFlags;
++    QEventLoop::ProcessEventsFlags processEventsFlags;
      QEventDispatcherGlibPrivate *d;
  };
  
  static gboolean postEventSourcePrepare(GSource *s, gint *timeout)
  {
-+    GPostEventSource *source = reinterpret_cast<GPostEventSource *>(s);
++    GPostEventSource *source = reinterpret_cast(s);
      QThreadData *data = QThreadData::current();
      if (!data)
          return false;
  
-+    QEventLoop::ProcessEventsFlags excludeAllFlags
-+        = QEventLoop::ExcludeUserInputEvents
-+        | QEventLoop::ExcludeSocketNotifiers
-+        | QEventLoop::X11ExcludeTimers;
-+    if ((source->processEventsFlags & excludeAllFlags) == excludeAllFlags)
-+        return false;
-+
++    QEventLoop::ProcessEventsFlags excludeAllFlags
++        = QEventLoop::ExcludeUserInputEvents
++        | QEventLoop::ExcludeSocketNotifiers
++        | QEventLoop::X11ExcludeTimers;
++    if ((source->processEventsFlags & excludeAllFlags) == excludeAllFlags)
++        return false;
++
      gint dummy;
      if (!timeout)
-         timeout = &dummy;
-     const bool canWait = data->canWaitLocked();
+         timeout = &dummy;
+     const bool canWait = data->canWaitLocked();
      *timeout = canWait ? -1 : 0;
  
--    GPostEventSource *source = reinterpret_cast<GPostEventSource *>(s);
+-    GPostEventSource *source = reinterpret_cast(s);
      return (!canWait
-             || (source->serialNumber != source->lastSerialNumber));
+             || (source->serialNumber != source->lastSerialNumber));
  }
-@@ -284,8 +292,14 @@ static gboolean postEventSourceDispatch(
+@@ -284,8 +292,14 @@ static gboolean postEventSourceDispatch(
  {
-     GPostEventSource *source = reinterpret_cast<GPostEventSource *>(s);
-     source->lastSerialNumber = source->serialNumber;
--    QCoreApplication::sendPostedEvents();
--    source->d->runTimersOnceWithNormalPriority();
-+    QEventLoop::ProcessEventsFlags excludeAllFlags
-+        = QEventLoop::ExcludeUserInputEvents
-+        | QEventLoop::ExcludeSocketNotifiers
-+        | QEventLoop::X11ExcludeTimers;
-+    if ((source->processEventsFlags & excludeAllFlags) != excludeAllFlags) {
-+        QCoreApplication::sendPostedEvents();
-+        source->d->runTimersOnceWithNormalPriority();
-+    }
+     GPostEventSource *source = reinterpret_cast(s);
+     source->lastSerialNumber = source->serialNumber;
+-    QCoreApplication::sendPostedEvents();
+-    source->d->runTimersOnceWithNormalPriority();
++    QEventLoop::ProcessEventsFlags excludeAllFlags
++        = QEventLoop::ExcludeUserInputEvents
++        | QEventLoop::ExcludeSocketNotifiers
++        | QEventLoop::X11ExcludeTimers;
++    if ((source->processEventsFlags & excludeAllFlags) != excludeAllFlags) {
++        QCoreApplication::sendPostedEvents();
++        source->d->runTimersOnceWithNormalPriority();
++    }
      return true; // i dunno, george...
  }
  
-@@ -329,6 +343,7 @@ QEventDispatcherGlibPrivate::QEventDispa
-     postEventSource = reinterpret_cast<GPostEventSource *>(g_source_new(&postEventSourceFuncs,
+@@ -329,6 +343,7 @@ QEventDispatcherGlibPrivate::QEventDispa
+     postEventSource = reinterpret_cast(g_source_new(&postEventSourceFuncs,
                                                                          sizeof(GPostEventSource)));
-     postEventSource->serialNumber = 1;
-+    postEventSource->processEventsFlags = QEventLoop::AllEvents;
-     postEventSource->d = this;
-     g_source_set_can_recurse(&postEventSource->source, true);
-     g_source_attach(&postEventSource->source, mainContext);
-@@ -423,6 +438,7 @@ bool QEventDispatcherGlib::processEvents
+     postEventSource->serialNumber = 1;
++    postEventSource->processEventsFlags = QEventLoop::AllEvents;
+     postEventSource->d = this;
+     g_source_set_can_recurse(&postEventSource->source, true);
+     g_source_attach(&postEventSource->source, mainContext);
+@@ -423,6 +438,7 @@ bool QEventDispatcherGlib::processEvents
  
      // tell postEventSourcePrepare() and timerSource about any new flags
-     QEventLoop::ProcessEventsFlags savedFlags = d->timerSource->processEventsFlags;
-+    d->postEventSource->processEventsFlags = flags;
-     d->timerSource->processEventsFlags = flags;
-     d->socketNotifierSource->processEventsFlags = flags;
- 
-@@ -435,6 +451,7 @@ bool QEventDispatcherGlib::processEvents
-     while (!result && canWait)
-         result = g_main_context_iteration(d->mainContext, canWait);
- 
-+    d->postEventSource->processEventsFlags = savedFlags;
-     d->timerSource->processEventsFlags = savedFlags;
-     d->socketNotifierSource->processEventsFlags = savedFlags;
- 
---- src/corelib/kernel/qeventdispatcher_unix.cpp.sav	2013-06-07 07:16:52.000000000 +0200
-+++ src/corelib/kernel/qeventdispatcher_unix.cpp	2014-04-24 09:43:06.927589535 +0200
-@@ -905,7 +905,15 @@ bool QEventDispatcherUNIX::processEvents
+     QEventLoop::ProcessEventsFlags savedFlags = d->timerSource->processEventsFlags;
++    d->postEventSource->processEventsFlags = flags;
+     d->timerSource->processEventsFlags = flags;
+     d->socketNotifierSource->processEventsFlags = flags;
+ 
+@@ -435,6 +451,7 @@ bool QEventDispatcherGlib::processEvents
+     while (!result && canWait)
+         result = g_main_context_iteration(d->mainContext, canWait);
+ 
++    d->postEventSource->processEventsFlags = savedFlags;
+     d->timerSource->processEventsFlags = savedFlags;
+     d->socketNotifierSource->processEventsFlags = savedFlags;
+ 
+--- src/corelib/kernel/qeventdispatcher_unix.cpp.sav	2013-06-07 07:16:52.000000000 +0200
++++ src/corelib/kernel/qeventdispatcher_unix.cpp	2014-04-24 09:43:06.927589535 +0200
+@@ -905,7 +905,15 @@ bool QEventDispatcherUNIX::processEvents
  
      // we are awake, broadcast it
      emit awake();
--    QCoreApplicationPrivate::sendPostedEvents(0, 0, d->threadData);
-+
-+    QEventLoop::ProcessEventsFlags excludeAllFlags
-+        = QEventLoop::ExcludeUserInputEvents
-+        | QEventLoop::ExcludeSocketNotifiers
-+        | QEventLoop::X11ExcludeTimers;
-+    if ((flags & excludeAllFlags) == excludeAllFlags)
-+        return false;
-+    if(( flags & excludeAllFlags ) != excludeAllFlags )
-+        QCoreApplicationPrivate::sendPostedEvents(0, 0, d->threadData);
+-    QCoreApplicationPrivate::sendPostedEvents(0, 0, d->threadData);
++
++    QEventLoop::ProcessEventsFlags excludeAllFlags
++        = QEventLoop::ExcludeUserInputEvents
++        | QEventLoop::ExcludeSocketNotifiers
++        | QEventLoop::X11ExcludeTimers;
++    if ((flags & excludeAllFlags) == excludeAllFlags)
++        return false;
++    if(( flags & excludeAllFlags ) != excludeAllFlags )
++        QCoreApplicationPrivate::sendPostedEvents(0, 0, d->threadData);
  
      int nevents = 0;
-     const bool canWait = (d->threadData->canWaitLocked()
-
-
-
-

Copyright © 2002-2016 Judd Vinet and Aaron Griffin. The Arch Linux name and logo -are recognized trademarks. Some rights reserved. The registered trademark -Linux® is used pursuant to a sublicense from LMI, the exclusive licensee -of Linus Torvalds, owner of the mark on a world-wide basis.

-
-
- - + const bool canWait = (d->threadData->canWaitLocked()