From 40519146419cccf30e392b08fcf3db755ad288a1 Mon Sep 17 00:00:00 2001 From: Marc Mutz Date: Wed, 26 Feb 2014 22:33:29 +0100 Subject: QPalette: optimize move assignment operator Instead of assigning the various bit-fields manually, use the quint32 union field, which is already present to avoid slow bit-field operations in the member-swap function. Verifed that the generated assembly for move-assignment is significantly better than before on GCC. Change-Id: If4e0ef678bf3a496c6eb369ad3f639f5a9bc79fc Reviewed-by: Olivier Goffart Reviewed-by: Thiago Macieira --- src/gui/kernel/qpalette.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'src/gui/kernel/qpalette.h') diff --git a/src/gui/kernel/qpalette.h b/src/gui/kernel/qpalette.h index 9abca30f12..8d9754d388 100644 --- a/src/gui/kernel/qpalette.h +++ b/src/gui/kernel/qpalette.h @@ -72,8 +72,7 @@ public: #ifdef Q_COMPILER_RVALUE_REFS inline QPalette &operator=(QPalette &&other) { - data.resolve_mask = other.data.resolve_mask; - data.current_group = other.data.current_group; + for_faster_swapping_dont_use = other.for_faster_swapping_dont_use; qSwap(d, other.d); return *this; } #endif -- cgit v1.2.3