path: root/dist
diff options
authorMarc Mutz <>2012-03-01 18:52:32 +0100
committerThe Qt Project <>2013-10-30 12:56:44 +0100
commited827acc27530a97b84685920615359010d74f48 (patch)
treef603df3e597531a5bb6a6a21d4a565ba8262d614 /dist
parentbf6a345baa21818010242566bef4f2c25cb72437 (diff)
QSignalBlocker: (new) RAII class for QObject::blockSignals()
I don't think I ever worked on a project of non-trivial size that didn't at some point add a QSignalBlocker. This commit adds code, tests and documentation. Later commits will convert naked blockSignals() calls to use QSignalBlocker. The implementation is purely inline to avoid the heavy overhead of cross-dll function calls for this miniscule task. This should not be a problem because QSignalBlocker only uses public API and a pattern that we anyway need to keep working until Qt 6, at least, so even changing the implementation later will be no problem as the old implementation lurking in non-recompiled code will be acceptable, too. This implementation is an evolution from KDTools' KDSignalBlocker, with the following changes: - Implements unblock() and reblock() - Uses the return value of blockSignals() instead of a separate signalsBlocked() call. Change-Id: I1933dfd72a0f5190324be377cfca3c54cf3d6828 Reviewed-by: Olivier Goffart <>
Diffstat (limited to 'dist')
1 files changed, 2 insertions, 0 deletions
diff --git a/dist/changes-5.3.0 b/dist/changes-5.3.0
index 87d9c771e7..035d0656ed 100644
--- a/dist/changes-5.3.0
+++ b/dist/changes-5.3.0
@@ -25,5 +25,7 @@ QtWidgets
+- QSignalBlocker: (new) RAII wrapper around QObject::blockSignals()