diff options
Diffstat (limited to 'src/corelib/kernel/qeventdispatcher_cf_p.h')
-rw-r--r-- | src/corelib/kernel/qeventdispatcher_cf_p.h | 37 |
1 files changed, 28 insertions, 9 deletions
diff --git a/src/corelib/kernel/qeventdispatcher_cf_p.h b/src/corelib/kernel/qeventdispatcher_cf_p.h index ce2c36700e..3575a6fb39 100644 --- a/src/corelib/kernel/qeventdispatcher_cf_p.h +++ b/src/corelib/kernel/qeventdispatcher_cf_p.h @@ -63,8 +63,8 @@ Q_FORWARD_DECLARE_OBJC_CLASS(QT_MANGLE_NAMESPACE(RunLoopModeTracker)); QT_BEGIN_NAMESPACE namespace QtPrivate { -Q_CORE_EXPORT Q_DECLARE_LOGGING_CATEGORY(lcEventDispatcher); -Q_CORE_EXPORT Q_DECLARE_LOGGING_CATEGORY(lcEventDispatcherTimers) +Q_DECLARE_EXPORTED_LOGGING_CATEGORY(lcEventDispatcher, Q_CORE_EXPORT) +Q_DECLARE_EXPORTED_LOGGING_CATEGORY(lcEventDispatcherTimers, Q_CORE_EXPORT) } class QEventDispatcherCoreFoundation; @@ -168,7 +168,7 @@ private: CFRunLoopObserverRef m_observer; }; -class Q_CORE_EXPORT QEventDispatcherCoreFoundation : public QAbstractEventDispatcher +class Q_CORE_EXPORT QEventDispatcherCoreFoundation : public QAbstractEventDispatcherV2 { Q_OBJECT @@ -182,12 +182,12 @@ public: void registerSocketNotifier(QSocketNotifier *notifier) override; void unregisterSocketNotifier(QSocketNotifier *notifier) override; - void registerTimer(int timerId, qint64 interval, Qt::TimerType timerType, QObject *object) override; - bool unregisterTimer(int timerId) override; - bool unregisterTimers(QObject *object) override; - QList<QAbstractEventDispatcher::TimerInfo> registeredTimers(QObject *object) const override; - - int remainingTime(int timerId) override; + void registerTimer(Qt::TimerId timerId, Duration interval, Qt::TimerType timerType, + QObject *object) override final; + bool unregisterTimer(Qt::TimerId timerId) override final; + bool unregisterTimers(QObject *object) override final; + QList<TimerInfoV2> timersForObject(QObject *object) const override final; + Duration remainingTime(Qt::TimerId timerId) const override final; void wakeUp() override; void interrupt() override; @@ -204,6 +204,25 @@ protected: , processedPostedEvents(false), processedTimers(false) , deferredWakeUp(false), deferredUpdateTimers(false) {} + ProcessEventsState(const ProcessEventsState &other) + : flags(other.flags.loadAcquire()) + , wasInterrupted(other.wasInterrupted.loadAcquire()) + , processedPostedEvents(other.processedPostedEvents.loadAcquire()) + , processedTimers(other.processedTimers.loadAcquire()) + , deferredWakeUp(other.deferredWakeUp.loadAcquire()) + , deferredUpdateTimers(other.deferredUpdateTimers) {} + + ProcessEventsState &operator=(const ProcessEventsState &other) + { + flags.storeRelease(other.flags.loadAcquire()); + wasInterrupted.storeRelease(other.wasInterrupted.loadAcquire()); + processedPostedEvents.storeRelease(other.processedPostedEvents.loadAcquire()); + processedTimers.storeRelease(other.processedTimers.loadAcquire()); + deferredWakeUp.storeRelease(other.deferredWakeUp.loadAcquire()); + deferredUpdateTimers = other.deferredUpdateTimers; + return *this; + } + QAtomicInt flags; QAtomicInteger<char> wasInterrupted; QAtomicInteger<char> processedPostedEvents; |