diff options
author | Marc Mutz <marc.mutz@kdab.com> | 2014-07-29 23:51:45 +0200 |
---|---|---|
committer | Marc Mutz <marc.mutz@kdab.com> | 2014-08-06 14:55:36 +0200 |
commit | 18bb58a5a6f6669d6e55cc1e58b45a3437610185 (patch) | |
tree | c58263dd1014183c3db997b1a065f23531ac84d3 /src/widgets/dialogs/qprogressdialog.cpp | |
parent | 53b781cb120d1f6f70746e065c9b7fb64123e874 (diff) |
QProgressDialog: fix setBar() not properly adopting the new QProgressBar
The "adoption" code is taken from setLabel().
Task-number: QTBUG-40503
Change-Id: Id512b28eb756b4a80e5701e599e2cbdf5346ff62
Reviewed-by: David Faure <david.faure@kdab.com>
Diffstat (limited to 'src/widgets/dialogs/qprogressdialog.cpp')
-rw-r--r-- | src/widgets/dialogs/qprogressdialog.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/widgets/dialogs/qprogressdialog.cpp b/src/widgets/dialogs/qprogressdialog.cpp index 35a75adea2..bcfdb03f2f 100644 --- a/src/widgets/dialogs/qprogressdialog.cpp +++ b/src/widgets/dialogs/qprogressdialog.cpp @@ -505,9 +505,17 @@ void QProgressDialog::setBar(QProgressBar *bar) } delete d->bar; d->bar = bar; + if (bar) { + if (bar->parentWidget() == this) + bar->hide(); // until we resize + else + bar->setParent(this, 0); + } int w = qMax(isVisible() ? width() : 0, sizeHint().width()); int h = qMax(isVisible() ? height() : 0, sizeHint().height()); resize(w, h); + if (bar) + bar->show(); } |