summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGabriel de Dietrich <gabriel.dedietrich@qt.io>2016-12-15 11:30:05 -0800
committerGabriel de Dietrich <gabriel.dedietrich@qt.io>2016-12-16 18:39:53 +0000
commit6d5b07c509c109e2a0624e3fdfce926377e6ed60 (patch)
tree9404060e90244fc72498b4ed9bdd5f9e55e8c6c1
parenta8151ded6f3a6bba640335eb2241435fbeb0eb96 (diff)
QWidget::clearMask(): Skip setMask() logic if there's no mask
In particular, this saves the allocation of the extra data if no mask was set to begin with. Change-Id: I402c28fa53c946134c853d52fc7435a50f2232f5 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
-rw-r--r--src/widgets/kernel/qwidget.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/widgets/kernel/qwidget.cpp b/src/widgets/kernel/qwidget.cpp
index 1db9f5d75e..cfa190a388 100644
--- a/src/widgets/kernel/qwidget.cpp
+++ b/src/widgets/kernel/qwidget.cpp
@@ -12955,6 +12955,9 @@ void QWidget::setMask(const QBitmap &bitmap)
*/
void QWidget::clearMask()
{
+ Q_D(QWidget);
+ if (!d->extra || !d->extra->hasMask)
+ return;
setMask(QRegion());
}