diff options
Diffstat (limited to 'src/widgets/widgets')
-rw-r--r-- | src/widgets/widgets/qframe.cpp | 6 | ||||
-rw-r--r-- | src/widgets/widgets/qframe.h | 2 | ||||
-rw-r--r-- | src/widgets/widgets/qtoolbararealayout.cpp | 6 |
3 files changed, 10 insertions, 4 deletions
diff --git a/src/widgets/widgets/qframe.cpp b/src/widgets/widgets/qframe.cpp index 1661c5c881..7b50728ec9 100644 --- a/src/widgets/widgets/qframe.cpp +++ b/src/widgets/widgets/qframe.cpp @@ -463,9 +463,9 @@ int QFrame::frameWidth() const \brief the frame's rectangle The frame's rectangle is the rectangle the frame is drawn in. By - default, this is the entire widget. Setting the rectangle does - does \e not cause a widget update. The frame rectangle is - automatically adjusted when the widget changes size. + default, this is the entire widget. Setting the rectangle \e doesn't + cause a widget update. The frame rectangle is automatically adjusted + when the widget changes size. If you set the rectangle to a null rectangle (for example, QRect(0, 0, 0, 0)), then the resulting frame rectangle is diff --git a/src/widgets/widgets/qframe.h b/src/widgets/widgets/qframe.h index 595dfa929d..6355c10ae5 100644 --- a/src/widgets/widgets/qframe.h +++ b/src/widgets/widgets/qframe.h @@ -123,6 +123,8 @@ private: Q_DECLARE_PRIVATE(QFrame) }; +Q_DECLARE_MIXED_ENUM_OPERATORS_SYMMETRIC(int, QFrame::Shape, QFrame::Shadow) + QT_END_NAMESPACE #endif // QFRAME_H diff --git a/src/widgets/widgets/qtoolbararealayout.cpp b/src/widgets/widgets/qtoolbararealayout.cpp index 493c094cc1..fb9a275f65 100644 --- a/src/widgets/widgets/qtoolbararealayout.cpp +++ b/src/widgets/widgets/qtoolbararealayout.cpp @@ -1364,10 +1364,14 @@ bool QToolBarAreaLayout::restoreState(QDataStream &stream, const QList<QToolBar* } if (applyingLayout) { + // Clear the previous widgetItem for the toolBar, so that it's + // assigned correctly in QWidgetItemV2 constructor. + auto *toolBarPrivate = QWidgetPrivate::get(toolBar); + toolBarPrivate->widgetItem = nullptr; item.widgetItem = new QWidgetItemV2(toolBar); toolBar->setOrientation(floating ? ((shown & 2) ? Qt::Vertical : Qt::Horizontal) : dock.o); toolBar->setVisible(shown & 1); - toolBar->d_func()->setWindowState(floating, true, rect); + toolBar->d_func()->setWindowState(floating, false, rect); item.preferredSize = item.size; line.toolBarItems.append(item); |