QWidget: init data
in ctor, not Private::init()
This should fix Coverity's hallucination that QWidget::data is used uninitialized, or, after 58b9250aea0b1b41c8cbd1033149371a93a5b2c1, dereferenced while it's still nullptr. Coverity-Id: 475552 Coverity-Id: 475551 Coverity-Id: 475550 Coverity-Id: 475549 Coverity-Id: 396828 Pick-to: 6.9 6.8 6.5 Change-Id: I49705b8bc44082fc68a59c2c98c4e37a6d841b19 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
This commit is contained in:
parent
c770015876
commit
bcd29a9eab
@ -852,6 +852,7 @@ QWidget::QWidget(QWidget *parent, Qt::WindowFlags f)
|
||||
*/
|
||||
QWidget::QWidget(QWidgetPrivate &dd, QWidget* parent, Qt::WindowFlags f)
|
||||
: QObject(dd, nullptr), QPaintDevice()
|
||||
, data(&dd.data)
|
||||
{
|
||||
Q_D(QWidget);
|
||||
QT_TRY {
|
||||
@ -935,8 +936,6 @@ void QWidgetPrivate::init(QWidget *parentWidget, Qt::WindowFlags f)
|
||||
if (allWidgets)
|
||||
allWidgets->insert(q);
|
||||
|
||||
q->data = &data;
|
||||
|
||||
#if QT_CONFIG(thread)
|
||||
if (!parent) {
|
||||
Q_ASSERT_X(QThread::isMainThread(), "QWidget",
|
||||
|
Loading…
x
Reference in New Issue
Block a user