diff options
| author | Sona Kurazyan <sona.kurazyan@qt.io> | 2021-04-07 13:41:17 +0200 |
|---|---|---|
| committer | Sona Kurazyan <sona.kurazyan@qt.io> | 2021-04-07 14:51:04 +0200 |
| commit | a4d1ed854d14f3f15218f6c9bc2ff190259a4d5a (patch) | |
| tree | cbdd1a610976562d33bb854658ec590af54dfb94 /src/corelib/kernel/qtimer.cpp | |
| parent | 0c9fc20e7ff7b4ff0f15e0b2c071ea834625dce9 (diff) | |
Do not notify about property changes if the value hasn't changed
After 2ffb91ac592d69adf9458ac45074174537435918 we manually call notify()
for QObjectCompatProperties. Currently we always call it when setting
values to compat properties, even if the value hasn't actually changed.
Fixed to call notify() only if the value is being changed.
Task-number: QTBUG-85520
Change-Id: I385db84c4009c45406e204b96e0e37ce5fa8882b
Reviewed-by: Andreas Buhr <andreas.buhr@qt.io>
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'src/corelib/kernel/qtimer.cpp')
| -rw-r--r-- | src/corelib/kernel/qtimer.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/corelib/kernel/qtimer.cpp b/src/corelib/kernel/qtimer.cpp index 0946e1af485..333e6c24ba5 100644 --- a/src/corelib/kernel/qtimer.cpp +++ b/src/corelib/kernel/qtimer.cpp @@ -257,9 +257,11 @@ void QTimer::start() void QTimer::start(int msec) { Q_D(QTimer); + const bool intervalChanged = msec != d->inter; d->inter.setValue(msec); start(); - d->inter.notify(); + if (intervalChanged) + d->inter.notify(); } @@ -753,6 +755,7 @@ QBindable<bool> QTimer::bindableSingleShot() void QTimer::setInterval(int msec) { Q_D(QTimer); + const bool intervalChanged = msec != d->inter; d->inter.setValue(msec); if (d->id != INV_TIMER) { // create new timer QObject::killTimer(d->id); // restart timer @@ -761,7 +764,8 @@ void QTimer::setInterval(int msec) // as timer state actually does not change } - d->inter.markDirty(); + if (intervalChanged) + d->inter.markDirty(); } int QTimer::interval() const |
