summaryrefslogtreecommitdiff
path: root/dev-qt/qtwidgets/files/qtwidgets-5.9.6-QDockWidget-revert-restore-geometry.patch
blob: 3123fc3e50f5b5206f0f72aed082b07a5646200b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
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