diff options
author | Marc Mutz <marc.mutz@kdab.com> | 2015-11-12 10:16:22 +0100 |
---|---|---|
committer | Marc Mutz <marc.mutz@kdab.com> | 2015-11-21 14:26:07 +0000 |
commit | 496823b9a856d649c468d03b64241562807f3c16 (patch) | |
tree | 764f3128688f1d7a6f26a5909ad34b31712ae3a8 /src/widgets/util/qundostack.cpp | |
parent | f5a650735ea6658a53b3783cc52fe3dcdef40698 (diff) |
QtWidgets: use Q_UNLIKELY for every qWarning() (1)
If, after checking a condition, we issue a qWarning(),
by definition that check is unlikely to be true.
Tell the compiler so it can move the error handling
code out of the normal code path to increase the
effective icache size.
This change contains the changes to the util/,
dialogs/ and widgets/ subdirs.
Moved conditional code around where possible so that
we could always use Q_UNLIKELY, instead of having to
revert to Q_LIKELY here and there.
In QSystemTrayIcon::setVisible(), as a drive-by, I
swapped the evaluation order of an &&-expression
(newly wrapped in Q_UNLIKELY) to be more readable
and more efficient (cheaper check first) at the same
time.
Change-Id: I3564c5a5deacba49d67d3989fb0b53e680c57fcb
Reviewed-by: Olivier Goffart (Woboq GmbH) <ogoffart@woboq.com>
Diffstat (limited to 'src/widgets/util/qundostack.cpp')
-rw-r--r-- | src/widgets/util/qundostack.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/widgets/util/qundostack.cpp b/src/widgets/util/qundostack.cpp index 0272870537..35d8c10578 100644 --- a/src/widgets/util/qundostack.cpp +++ b/src/widgets/util/qundostack.cpp @@ -633,7 +633,7 @@ void QUndoStack::push(QUndoCommand *cmd) void QUndoStack::setClean() { Q_D(QUndoStack); - if (!d->macro_stack.isEmpty()) { + if (Q_UNLIKELY(!d->macro_stack.isEmpty())) { qWarning("QUndoStack::setClean(): cannot set clean in the middle of a macro"); return; } @@ -688,7 +688,7 @@ void QUndoStack::undo() if (d->index == 0) return; - if (!d->macro_stack.isEmpty()) { + if (Q_UNLIKELY(!d->macro_stack.isEmpty())) { qWarning("QUndoStack::undo(): cannot undo in the middle of a macro"); return; } @@ -714,7 +714,7 @@ void QUndoStack::redo() if (d->index == d->command_list.size()) return; - if (!d->macro_stack.isEmpty()) { + if (Q_UNLIKELY(!d->macro_stack.isEmpty())) { qWarning("QUndoStack::redo(): cannot redo in the middle of a macro"); return; } @@ -761,7 +761,7 @@ int QUndoStack::index() const void QUndoStack::setIndex(int idx) { Q_D(QUndoStack); - if (!d->macro_stack.isEmpty()) { + if (Q_UNLIKELY(!d->macro_stack.isEmpty())) { qWarning("QUndoStack::setIndex(): cannot set index in the middle of a macro"); return; } @@ -981,7 +981,7 @@ void QUndoStack::beginMacro(const QString &text) void QUndoStack::endMacro() { Q_D(QUndoStack); - if (d->macro_stack.isEmpty()) { + if (Q_UNLIKELY(d->macro_stack.isEmpty())) { qWarning("QUndoStack::endMacro(): no matching beginMacro()"); return; } @@ -1049,7 +1049,7 @@ void QUndoStack::setUndoLimit(int limit) { Q_D(QUndoStack); - if (!d->command_list.isEmpty()) { + if (Q_UNLIKELY(!d->command_list.isEmpty())) { qWarning("QUndoStack::setUndoLimit(): an undo limit can only be set when the stack is empty"); return; } |