summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-qt/qtwidgets/files/qtwidgets-5.9.6-QDockWidget-revert-restore-geometry.patch')
-rw-r--r--dev-qt/qtwidgets/files/qtwidgets-5.9.6-QDockWidget-revert-restore-geometry.patch115
1 files changed, 115 insertions, 0 deletions
diff --git a/dev-qt/qtwidgets/files/qtwidgets-5.9.6-QDockWidget-revert-restore-geometry.patch b/dev-qt/qtwidgets/files/qtwidgets-5.9.6-QDockWidget-revert-restore-geometry.patch
new file mode 100644
index 000000000000..3123fc3e50f5
--- /dev/null
+++ b/dev-qt/qtwidgets/files/qtwidgets-5.9.6-QDockWidget-revert-restore-geometry.patch
@@ -0,0 +1,115 @@
+From 57bc08dac38b02128031357976436fa0f68bd574 Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Wed, 20 Jun 2018 20:18:11 +0200
+Subject: [PATCH] Revert "Fix restoring geometry of dockwidget"
+
+See also: Regression caused by the fix for QTBUG-16252
+QTBUG: https://bugreports.qt.io/browse/QTBUG-68939
+
+This reverts commit cbfb6bda1d1ce3e169db6a0deb9bd901076653e4.
+---
+ src/widgets/widgets/qdockarealayout.cpp | 20 ++------------------
+ src/widgets/widgets/qdockarealayout_p.h | 1 -
+ 2 files changed, 2 insertions(+), 19 deletions(-)
+
+diff --git a/src/widgets/widgets/qdockarealayout.cpp b/src/widgets/widgets/qdockarealayout.cpp
+index bef7214c75..21d1d4cb85 100644
+--- a/src/widgets/widgets/qdockarealayout.cpp
++++ b/src/widgets/widgets/qdockarealayout.cpp
+@@ -226,7 +226,7 @@ static quintptr tabId(const QDockAreaLayoutItem &item)
+ static const int zero = 0;
+
+ QDockAreaLayoutInfo::QDockAreaLayoutInfo()
+- : restoredSizeHint(0,0), sep(&zero), dockPos(QInternal::LeftDock), o(Qt::Horizontal), mainWindow(0)
++ : sep(&zero), dockPos(QInternal::LeftDock), o(Qt::Horizontal), mainWindow(0)
+ #if QT_CONFIG(tabbar)
+ , tabbed(false), tabBar(0), tabBarShape(QTabBar::RoundedSouth)
+ #endif
+@@ -236,7 +236,7 @@ QDockAreaLayoutInfo::QDockAreaLayoutInfo()
+ QDockAreaLayoutInfo::QDockAreaLayoutInfo(const int *_sep, QInternal::DockPosition _dockPos,
+ Qt::Orientation _o, int tbshape,
+ QMainWindow *window)
+- : restoredSizeHint(0,0), sep(_sep), dockPos(_dockPos), o(_o), mainWindow(window)
++ : sep(_sep), dockPos(_dockPos), o(_o), mainWindow(window)
+ #if QT_CONFIG(tabbar)
+ , tabbed(false), tabBar(0), tabBarShape(static_cast<QTabBar::Shape>(tbshape))
+ #endif
+@@ -407,9 +407,6 @@ QSize QDockAreaLayoutInfo::sizeHint() const
+ if (isEmpty())
+ return QSize(0, 0);
+
+- if (!restoredSizeHint.isNull())
+- return restoredSizeHint;
+-
+ int a = 0, b = 0;
+ int min_perp = 0;
+ int max_perp = QWIDGETSIZE_MAX;
+@@ -2376,7 +2373,6 @@ bool QDockAreaLayout::restoreState(QDataStream &stream, const QList<QDockWidget*
+ stream >> size;
+ if (!testing) {
+ docks[pos].rect = QRect(QPoint(0, 0), size);
+- docks[pos].restoredSizeHint = size;
+ }
+ if (!docks[pos].restoreState(stream, dockwidgets, testing)) {
+ stream.setStatus(QDataStream::ReadCorruptData);
+@@ -2678,8 +2674,6 @@ void QDockAreaLayout::getGrid(QVector<QLayoutStruct> *_ver_struct_list,
+ center_rect.setBottom(rect.bottom() - docks[QInternal::BottomDock].rect.height() - sep);
+
+ QSize left_hint = docks[QInternal::LeftDock].size();
+- if (!docks[QInternal::LeftDock].restoredSizeHint.isNull())
+- left_hint = docks[QInternal::LeftDock].restoredSizeHint;
+ if (left_hint.isNull() || fallbackToSizeHints)
+ left_hint = docks[QInternal::LeftDock].sizeHint();
+ QSize left_min = docks[QInternal::LeftDock].minimumSize();
+@@ -2687,8 +2681,6 @@ void QDockAreaLayout::getGrid(QVector<QLayoutStruct> *_ver_struct_list,
+ left_hint = left_hint.boundedTo(left_max).expandedTo(left_min);
+
+ QSize right_hint = docks[QInternal::RightDock].size();
+- if (!docks[QInternal::RightDock].restoredSizeHint.isNull())
+- right_hint = docks[QInternal::RightDock].restoredSizeHint;
+ if (right_hint.isNull() || fallbackToSizeHints)
+ right_hint = docks[QInternal::RightDock].sizeHint();
+ QSize right_min = docks[QInternal::RightDock].minimumSize();
+@@ -2696,8 +2688,6 @@ void QDockAreaLayout::getGrid(QVector<QLayoutStruct> *_ver_struct_list,
+ right_hint = right_hint.boundedTo(right_max).expandedTo(right_min);
+
+ QSize top_hint = docks[QInternal::TopDock].size();
+- if (!docks[QInternal::TopDock].restoredSizeHint.isNull())
+- top_hint = docks[QInternal::TopDock].restoredSizeHint;
+ if (top_hint.isNull() || fallbackToSizeHints)
+ top_hint = docks[QInternal::TopDock].sizeHint();
+ QSize top_min = docks[QInternal::TopDock].minimumSize();
+@@ -2705,8 +2695,6 @@ void QDockAreaLayout::getGrid(QVector<QLayoutStruct> *_ver_struct_list,
+ top_hint = top_hint.boundedTo(top_max).expandedTo(top_min);
+
+ QSize bottom_hint = docks[QInternal::BottomDock].size();
+- if (!docks[QInternal::BottomDock].restoredSizeHint.isNull())
+- bottom_hint = docks[QInternal::BottomDock].restoredSizeHint;
+ if (bottom_hint.isNull() || fallbackToSizeHints)
+ bottom_hint = docks[QInternal::BottomDock].sizeHint();
+ QSize bottom_min = docks[QInternal::BottomDock].minimumSize();
+@@ -3288,10 +3276,6 @@ int QDockAreaLayout::separatorMove(const QList<int> &separator, const QPoint &or
+ int delta = 0;
+ int index = separator.last();
+
+- for (int i = 0; i < QInternal::DockCount; ++i)
+- if (!docks[i].restoredSizeHint.isNull())
+- docks[i].restoredSizeHint = QSize(0, 0);
+-
+ if (separator.count() > 1) {
+ QDockAreaLayoutInfo *info = this->info(separator);
+ delta = pick(info->o, dest - origin);
+diff --git a/src/widgets/widgets/qdockarealayout_p.h b/src/widgets/widgets/qdockarealayout_p.h
+index ea397e00ac..82244c192e 100644
+--- a/src/widgets/widgets/qdockarealayout_p.h
++++ b/src/widgets/widgets/qdockarealayout_p.h
+@@ -189,7 +189,6 @@ public:
+
+ QMainWindowLayout *mainWindowLayout() const;
+
+- QSize restoredSizeHint;
+ const int *sep;
+ mutable QVector<QWidget*> separatorWidgets;
+ QInternal::DockPosition dockPos;
+--
+2.17.1