summaryrefslogtreecommitdiffstats
path: root/src/gui/kernel/qformlayout.cpp
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@kdab.com>2012-10-21 18:10:22 (GMT)
committerThe Qt Project <gerrit-noreply@qt-project.org>2012-12-09 13:48:18 (GMT)
commit7f6155a9c1361355d3c9e88a1a8d1a6415857ebc (patch)
tree4db298129164b4a46eaf1606f7e08f126e0c2f72 /src/gui/kernel/qformlayout.cpp
parent63097b8ab370607b5952d4278609776b0b150634 (diff)
downloadQt-7f6155a9c1361355d3c9e88a1a8d1a6415857ebc.zip
Qt-7f6155a9c1361355d3c9e88a1a8d1a6415857ebc.tar.gz
Qt-7f6155a9c1361355d3c9e88a1a8d1a6415857ebc.tar.bz2
[QTBUG-27420] Make Q{Box,Grid,Form}Layout::takeAt() unparent a nested layout
QStackedLayout doesn't have support for QLayout, only QWidget, so the issue doesn't arise there. (cherry-picked from qtbase/716d33d2a73ade42eb31be3e8ecbaeecdd5ddd21) (only change: s/reset()/clear()/ in the tests) Reported-by: Johannes Schaub Task-number: QTBUG-27420 Change-Id: I7f3c4b1996e954428c00d4dda1095712efa91367 Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Diffstat (limited to 'src/gui/kernel/qformlayout.cpp')
-rw-r--r--src/gui/kernel/qformlayout.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/gui/kernel/qformlayout.cpp b/src/gui/kernel/qformlayout.cpp
index 0cbb9fa..9e481ec 100644
--- a/src/gui/kernel/qformlayout.cpp
+++ b/src/gui/kernel/qformlayout.cpp
@@ -1410,6 +1410,13 @@ QLayoutItem *QFormLayout::takeAt(int index)
QLayoutItem *i = item->item;
item->item = 0;
delete item;
+
+ if (QLayout *l = i->layout()) {
+ // sanity check in case the user passed something weird to QObject::setParent()
+ if (l->parent() == this)
+ l->setParent(0);
+ }
+
return i;
}