From e25b0d8f278dc6f1ced2cd9130a5845d575d7ac9 Mon Sep 17 00:00:00 2001 From: Ahmad Samir Date: Thu, 1 Jun 2023 19:40:22 +0300 Subject: [PATCH] QTimerInfo: refactor QTimerInfo - Add a constructor - Initialize members in-class - Reorder the data members so as not to waste space between them, now all the padding is at the end Change-Id: Ic88200fbff049615a6a43e322e724cf619fc3cdb Reviewed-by: Thiago Macieira --- src/corelib/kernel/qtimerinfo_unix.cpp | 7 +------ src/corelib/kernel/qtimerinfo_unix_p.h | 15 ++++++++++----- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/corelib/kernel/qtimerinfo_unix.cpp b/src/corelib/kernel/qtimerinfo_unix.cpp index eb36478f22..c697bf03e5 100644 --- a/src/corelib/kernel/qtimerinfo_unix.cpp +++ b/src/corelib/kernel/qtimerinfo_unix.cpp @@ -285,12 +285,7 @@ void QTimerInfoList::registerTimer(int timerId, qint64 interval, Qt::TimerType t void QTimerInfoList::registerTimer(int timerId, milliseconds interval, Qt::TimerType timerType, QObject *object) { - QTimerInfo *t = new QTimerInfo; - t->id = timerId; - t->interval = interval; - t->timerType = timerType; - t->obj = object; - t->activateRef = nullptr; + QTimerInfo *t = new QTimerInfo(timerId, interval, timerType, object); steady_clock::time_point expected = updateCurrentTime() + interval; diff --git a/src/corelib/kernel/qtimerinfo_unix_p.h b/src/corelib/kernel/qtimerinfo_unix_p.h index 0ee81f6967..98578bdc0e 100644 --- a/src/corelib/kernel/qtimerinfo_unix_p.h +++ b/src/corelib/kernel/qtimerinfo_unix_p.h @@ -26,12 +26,17 @@ QT_BEGIN_NAMESPACE // internal timer info struct QTimerInfo { - int id; // - timer identifier - Qt::TimerType timerType; // - timer type - std::chrono::milliseconds interval; // - timer interval + QTimerInfo(int timerId, std::chrono::milliseconds msecs, Qt::TimerType type, QObject *obj) + : interval(msecs), id(timerId), timerType(type), obj(obj) + { + } + std::chrono::steady_clock::time_point timeout; // - when to actually fire - QObject *obj; // - object to receive event - QTimerInfo **activateRef; // - ref from activateTimers + std::chrono::milliseconds interval = std::chrono::milliseconds{-1}; // - timer interval + int id = -1; // - timer identifier + Qt::TimerType timerType; // - timer type + QObject *obj = nullptr; // - object to receive event + QTimerInfo **activateRef = nullptr; // - ref from activateTimers }; class Q_CORE_EXPORT QTimerInfoList