diff options
Diffstat (limited to 'src/widgets/kernel/qwidget.cpp')
-rw-r--r-- | src/widgets/kernel/qwidget.cpp | 8 |
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()) { |