summaryrefslogtreecommitdiffstats
path: root/src/widgets/kernel/qlayout.cpp
diff options
context:
space:
mode:
authorJan Arve Saether <jan-arve.saether@digia.com>2013-04-23 15:04:26 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-04-23 18:57:45 +0200
commit146658a10f290603470b800d71b778239e764312 (patch)
tree16fda054a6b36993cb43adc9a49b4c96c53b07e9 /src/widgets/kernel/qlayout.cpp
parentad3b61554b56435dd44563fec21d944416dd1c84 (diff)
Fixed QLayout::addChildLayout(QLayout *l) when l had a parent
Previously if l had a parent, addChildLayout would warn and skip the reparenting, but it would still add the sub layout to the layout. This caused some inconsistencies in the hierarchy which in worst case could cause crashes. Task-number: QTBUG-30758 Change-Id: I618ec3341636b97bd71e421201b22c746dcf43e1 Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
Diffstat (limited to 'src/widgets/kernel/qlayout.cpp')
-rw-r--r--src/widgets/kernel/qlayout.cpp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/widgets/kernel/qlayout.cpp b/src/widgets/kernel/qlayout.cpp
index d59a9db75d..0402f9939a 100644
--- a/src/widgets/kernel/qlayout.cpp
+++ b/src/widgets/kernel/qlayout.cpp
@@ -806,6 +806,16 @@ void QLayout::addChildLayout(QLayout *l)
}
+/*!
+ \internal
+ */
+bool QLayout::adoptLayout(QLayout *layout)
+{
+ const bool ok = !layout->parent();
+ addChildLayout(layout);
+ return ok;
+}
+
#ifdef QT_DEBUG
static bool layoutDebug()
{