summaryrefslogtreecommitdiffstats
path: root/src/widgets/kernel/qwidget.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/widgets/kernel/qwidget.cpp')
-rw-r--r--src/widgets/kernel/qwidget.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/widgets/kernel/qwidget.cpp b/src/widgets/kernel/qwidget.cpp
index e4e09c17be..6e3e9e0414 100644
--- a/src/widgets/kernel/qwidget.cpp
+++ b/src/widgets/kernel/qwidget.cpp
@@ -8102,9 +8102,11 @@ void QWidgetPrivate::setVisible(bool visible)
if (!q->isWindow() && q->parentWidget()) // && !d->getOpaqueRegion().isEmpty())
q->parentWidget()->d_func()->setDirtyOpaqueRegion();
- q->setAttribute(Qt::WA_WState_Hidden);
- if (q->testAttribute(Qt::WA_WState_Created))
- hide_helper();
+ if (!q->testAttribute(Qt::WA_WState_Hidden)) {
+ q->setAttribute(Qt::WA_WState_Hidden);
+ if (q->testAttribute(Qt::WA_WState_Created))
+ hide_helper();
+ }
// invalidate layout similar to updateGeometry()
if (!q->isWindow() && q->parentWidget()) {