From 0148c6925ec3b6b9a9d2f57ae44fea292a6625e1 Mon Sep 17 00:00:00 2001 From: Liu Yang Date: Wed, 16 Sep 2020 15:37:11 +0800 Subject: QAbstractEventDispatcher: change event dispatcher timer interval to qint64 Resolve remaining Qt6 TODO [ChangeLog][QtCore][QAbstractEventDispatcher] The signature of the abstract virtual registerTime function now takes a qint64 value for the interval parameter. Change-Id: I10166ad5cfb455edc404d465a3731ff094a8977e Reviewed-by: Volker Hilsheimer --- src/corelib/kernel/qabstracteventdispatcher.cpp | 2 +- src/corelib/kernel/qabstracteventdispatcher.h | 5 ++--- src/corelib/kernel/qeventdispatcher_cf.mm | 2 +- src/corelib/kernel/qeventdispatcher_cf_p.h | 2 +- src/corelib/kernel/qeventdispatcher_glib.cpp | 2 +- src/corelib/kernel/qeventdispatcher_glib_p.h | 2 +- src/corelib/kernel/qeventdispatcher_unix.cpp | 2 +- src/corelib/kernel/qeventdispatcher_unix_p.h | 2 +- src/corelib/kernel/qeventdispatcher_win.cpp | 2 +- src/corelib/kernel/qeventdispatcher_win_p.h | 4 ++-- src/corelib/kernel/qtimerinfo_unix.cpp | 2 +- src/corelib/kernel/qtimerinfo_unix_p.h | 4 ++-- src/plugins/platforms/cocoa/qcocoaeventdispatcher.h | 2 +- src/plugins/platforms/cocoa/qcocoaeventdispatcher.mm | 2 +- 14 files changed, 17 insertions(+), 18 deletions(-) (limited to 'src') diff --git a/src/corelib/kernel/qabstracteventdispatcher.cpp b/src/corelib/kernel/qabstracteventdispatcher.cpp index 546d34b8b6..4552e819de 100644 --- a/src/corelib/kernel/qabstracteventdispatcher.cpp +++ b/src/corelib/kernel/qabstracteventdispatcher.cpp @@ -241,7 +241,7 @@ QAbstractEventDispatcher *QAbstractEventDispatcher::instance(QThread *thread) Registers a timer with the specified \a interval and \a timerType for the given \a object and returns the timer id. */ -int QAbstractEventDispatcher::registerTimer(int interval, Qt::TimerType timerType, QObject *object) +int QAbstractEventDispatcher::registerTimer(qint64 interval, Qt::TimerType timerType, QObject *object) { int id = QAbstractEventDispatcherPrivate::allocateTimerId(); registerTimer(id, interval, timerType, object); diff --git a/src/corelib/kernel/qabstracteventdispatcher.h b/src/corelib/kernel/qabstracteventdispatcher.h index 2236a0295d..9a0a049ed4 100644 --- a/src/corelib/kernel/qabstracteventdispatcher.h +++ b/src/corelib/kernel/qabstracteventdispatcher.h @@ -80,9 +80,8 @@ public: virtual void registerSocketNotifier(QSocketNotifier *notifier) = 0; virtual void unregisterSocketNotifier(QSocketNotifier *notifier) = 0; - // ### Qt6: change interval range to qint64 (or use QDeadlineTimer) - int registerTimer(int interval, Qt::TimerType timerType, QObject *object); - virtual void registerTimer(int timerId, int interval, Qt::TimerType timerType, QObject *object) = 0; + int registerTimer(qint64 interval, Qt::TimerType timerType, QObject *object); + virtual void registerTimer(int timerId, qint64 interval, Qt::TimerType timerType, QObject *object) = 0; virtual bool unregisterTimer(int timerId) = 0; virtual bool unregisterTimers(QObject *object) = 0; virtual QList registeredTimers(QObject *object) const = 0; diff --git a/src/corelib/kernel/qeventdispatcher_cf.mm b/src/corelib/kernel/qeventdispatcher_cf.mm index 3525de4029..0227778cee 100644 --- a/src/corelib/kernel/qeventdispatcher_cf.mm +++ b/src/corelib/kernel/qeventdispatcher_cf.mm @@ -542,7 +542,7 @@ void QEventDispatcherCoreFoundation::unregisterSocketNotifier(QSocketNotifier *n #pragma mark - Timers -void QEventDispatcherCoreFoundation::registerTimer(int timerId, int interval, Qt::TimerType timerType, QObject *object) +void QEventDispatcherCoreFoundation::registerTimer(int timerId, qint64 interval, Qt::TimerType timerType, QObject *object) { qCDebug(lcEventDispatcherTimers) << "Registering timer with id =" << timerId << "interval =" << interval << "type =" << timerType << "object =" << object; diff --git a/src/corelib/kernel/qeventdispatcher_cf_p.h b/src/corelib/kernel/qeventdispatcher_cf_p.h index f57ea5a0c5..eb84b0a64c 100644 --- a/src/corelib/kernel/qeventdispatcher_cf_p.h +++ b/src/corelib/kernel/qeventdispatcher_cf_p.h @@ -218,7 +218,7 @@ public: void registerSocketNotifier(QSocketNotifier *notifier) override; void unregisterSocketNotifier(QSocketNotifier *notifier) override; - void registerTimer(int timerId, int interval, Qt::TimerType timerType, QObject *object) override; + void registerTimer(int timerId, qint64 interval, Qt::TimerType timerType, QObject *object) override; bool unregisterTimer(int timerId) override; bool unregisterTimers(QObject *object) override; QList registeredTimers(QObject *object) const override; diff --git a/src/corelib/kernel/qeventdispatcher_glib.cpp b/src/corelib/kernel/qeventdispatcher_glib.cpp index 96e02769ae..4efdcf4cc6 100644 --- a/src/corelib/kernel/qeventdispatcher_glib.cpp +++ b/src/corelib/kernel/qeventdispatcher_glib.cpp @@ -502,7 +502,7 @@ void QEventDispatcherGlib::unregisterSocketNotifier(QSocketNotifier *notifier) } } -void QEventDispatcherGlib::registerTimer(int timerId, int interval, Qt::TimerType timerType, QObject *object) +void QEventDispatcherGlib::registerTimer(int timerId, qint64 interval, Qt::TimerType timerType, QObject *object) { #ifndef QT_NO_DEBUG if (timerId < 1 || interval < 0 || !object) { diff --git a/src/corelib/kernel/qeventdispatcher_glib_p.h b/src/corelib/kernel/qeventdispatcher_glib_p.h index fffd9ee68a..63bc4109a8 100644 --- a/src/corelib/kernel/qeventdispatcher_glib_p.h +++ b/src/corelib/kernel/qeventdispatcher_glib_p.h @@ -75,7 +75,7 @@ public: void registerSocketNotifier(QSocketNotifier *socketNotifier) final; void unregisterSocketNotifier(QSocketNotifier *socketNotifier) final; - void registerTimer(int timerId, int interval, Qt::TimerType timerType, QObject *object) final; + void registerTimer(int timerId, qint64 interval, Qt::TimerType timerType, QObject *object) final; bool unregisterTimer(int timerId) final; bool unregisterTimers(QObject *object) final; QList registeredTimers(QObject *object) const final; diff --git a/src/corelib/kernel/qeventdispatcher_unix.cpp b/src/corelib/kernel/qeventdispatcher_unix.cpp index b5130b6f1e..2936b0246f 100644 --- a/src/corelib/kernel/qeventdispatcher_unix.cpp +++ b/src/corelib/kernel/qeventdispatcher_unix.cpp @@ -322,7 +322,7 @@ QEventDispatcherUNIX::~QEventDispatcherUNIX() /*! \internal */ -void QEventDispatcherUNIX::registerTimer(int timerId, int interval, Qt::TimerType timerType, QObject *obj) +void QEventDispatcherUNIX::registerTimer(int timerId, qint64 interval, Qt::TimerType timerType, QObject *obj) { #ifndef QT_NO_DEBUG if (timerId < 1 || interval < 0 || !obj) { diff --git a/src/corelib/kernel/qeventdispatcher_unix_p.h b/src/corelib/kernel/qeventdispatcher_unix_p.h index 7ab4826718..38115c1e2c 100644 --- a/src/corelib/kernel/qeventdispatcher_unix_p.h +++ b/src/corelib/kernel/qeventdispatcher_unix_p.h @@ -110,7 +110,7 @@ public: void registerSocketNotifier(QSocketNotifier *notifier) final; void unregisterSocketNotifier(QSocketNotifier *notifier) final; - void registerTimer(int timerId, int interval, Qt::TimerType timerType, QObject *object) final; + void registerTimer(int timerId, qint64 interval, Qt::TimerType timerType, QObject *object) final; bool unregisterTimer(int timerId) final; bool unregisterTimers(QObject *object) final; QList registeredTimers(QObject *object) const final; diff --git a/src/corelib/kernel/qeventdispatcher_win.cpp b/src/corelib/kernel/qeventdispatcher_win.cpp index 9cf426dd73..03d003bb0f 100644 --- a/src/corelib/kernel/qeventdispatcher_win.cpp +++ b/src/corelib/kernel/qeventdispatcher_win.cpp @@ -707,7 +707,7 @@ void QEventDispatcherWin32::doUnregisterSocketNotifier(QSocketNotifier *notifier delete sn; } -void QEventDispatcherWin32::registerTimer(int timerId, int interval, Qt::TimerType timerType, QObject *object) +void QEventDispatcherWin32::registerTimer(int timerId, qint64 interval, Qt::TimerType timerType, QObject *object) { #ifndef QT_NO_DEBUG if (timerId < 1 || interval < 0 || !object) { diff --git a/src/corelib/kernel/qeventdispatcher_win_p.h b/src/corelib/kernel/qeventdispatcher_win_p.h index 3bc2a0a1f4..9ee4eb725d 100644 --- a/src/corelib/kernel/qeventdispatcher_win_p.h +++ b/src/corelib/kernel/qeventdispatcher_win_p.h @@ -81,7 +81,7 @@ public: void registerSocketNotifier(QSocketNotifier *notifier) override; void unregisterSocketNotifier(QSocketNotifier *notifier) override; - void registerTimer(int timerId, int interval, Qt::TimerType timerType, QObject *object) override; + void registerTimer(int timerId, qint64 interval, Qt::TimerType timerType, QObject *object) override; bool unregisterTimer(int timerId) override; bool unregisterTimers(QObject *object) override; QList registeredTimers(QObject *object) const override; @@ -131,7 +131,7 @@ typedef QHash QSFDict; struct WinTimerInfo { // internal timer info QObject *dispatcher; int timerId; - int interval; + qint64 interval; Qt::TimerType timerType; quint64 timeout; // - when to actually fire QObject *obj; // - object to receive events diff --git a/src/corelib/kernel/qtimerinfo_unix.cpp b/src/corelib/kernel/qtimerinfo_unix.cpp index 10c5f04839..bcaaf7af05 100644 --- a/src/corelib/kernel/qtimerinfo_unix.cpp +++ b/src/corelib/kernel/qtimerinfo_unix.cpp @@ -439,7 +439,7 @@ int QTimerInfoList::timerRemainingTime(int timerId) return -1; } -void QTimerInfoList::registerTimer(int timerId, int interval, Qt::TimerType timerType, QObject *object) +void QTimerInfoList::registerTimer(int timerId, qint64 interval, Qt::TimerType timerType, QObject *object) { QTimerInfo *t = new QTimerInfo; t->id = timerId; diff --git a/src/corelib/kernel/qtimerinfo_unix_p.h b/src/corelib/kernel/qtimerinfo_unix_p.h index 7bd6f16ea1..1a1a101dda 100644 --- a/src/corelib/kernel/qtimerinfo_unix_p.h +++ b/src/corelib/kernel/qtimerinfo_unix_p.h @@ -64,7 +64,7 @@ QT_BEGIN_NAMESPACE // internal timer info struct QTimerInfo { int id; // - timer identifier - int interval; // - timer interval in milliseconds + qint64 interval; // - timer interval in milliseconds Qt::TimerType timerType; // - timer type timespec timeout; // - when to actually fire QObject *obj; // - object to receive event @@ -106,7 +106,7 @@ public: int timerRemainingTime(int timerId); - void registerTimer(int timerId, int interval, Qt::TimerType timerType, QObject *object); + void registerTimer(int timerId, qint64 interval, Qt::TimerType timerType, QObject *object); bool unregisterTimer(int timerId); bool unregisterTimers(QObject *object); QList registeredTimers(QObject *object) const; diff --git a/src/plugins/platforms/cocoa/qcocoaeventdispatcher.h b/src/plugins/platforms/cocoa/qcocoaeventdispatcher.h index 3226cb1b39..823633ffb9 100644 --- a/src/plugins/platforms/cocoa/qcocoaeventdispatcher.h +++ b/src/plugins/platforms/cocoa/qcocoaeventdispatcher.h @@ -119,7 +119,7 @@ public: void registerSocketNotifier(QSocketNotifier *notifier); void unregisterSocketNotifier(QSocketNotifier *notifier); - void registerTimer(int timerId, int interval, Qt::TimerType timerType, QObject *object); + void registerTimer(int timerId, qint64 interval, Qt::TimerType timerType, QObject *object); bool unregisterTimer(int timerId); bool unregisterTimers(QObject *object); QList registeredTimers(QObject *object) const; diff --git a/src/plugins/platforms/cocoa/qcocoaeventdispatcher.mm b/src/plugins/platforms/cocoa/qcocoaeventdispatcher.mm index bb47e933d2..042abae1ca 100644 --- a/src/plugins/platforms/cocoa/qcocoaeventdispatcher.mm +++ b/src/plugins/platforms/cocoa/qcocoaeventdispatcher.mm @@ -196,7 +196,7 @@ void QCocoaEventDispatcherPrivate::maybeStopCFRunLoopTimer() runLoopTimerRef = nullptr; } -void QCocoaEventDispatcher::registerTimer(int timerId, int interval, Qt::TimerType timerType, QObject *obj) +void QCocoaEventDispatcher::registerTimer(int timerId, qint64 interval, Qt::TimerType timerType, QObject *obj) { #ifndef QT_NO_DEBUG if (timerId < 1 || interval < 0 || !obj) { -- cgit v1.2.3