summaryrefslogtreecommitdiffstats
path: root/src/widgets/dialogs/qprogressdialog.cpp
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@kdab.com>2014-07-29 23:51:45 +0200
committerMarc Mutz <marc.mutz@kdab.com>2014-08-06 14:55:36 +0200
commit18bb58a5a6f6669d6e55cc1e58b45a3437610185 (patch)
treec58263dd1014183c3db997b1a065f23531ac84d3 /src/widgets/dialogs/qprogressdialog.cpp
parent53b781cb120d1f6f70746e065c9b7fb64123e874 (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.cpp8
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();
}