summaryrefslogtreecommitdiff
path: root/src/libs/modelinglib/qmt/model_controller/modelcontroller.cpp
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@qt.io>2017-07-28 15:24:14 +0200
committerEike Ziller <eike.ziller@qt.io>2017-07-28 15:24:14 +0200
commitc01ddc4660c10e8ddc605602fd623135fb607de0 (patch)
treefdf50dee801ce09d2a6d671d558b73d8769870d9 /src/libs/modelinglib/qmt/model_controller/modelcontroller.cpp
parent712297cbf0b73d8af8db3921c646ed252b0c41d7 (diff)
parent36968528805d99a746d27f2632cabc1a132e535f (diff)
downloadqt-creator-c01ddc4660c10e8ddc605602fd623135fb607de0.tar.gz
Merge remote-tracking branch 'origin/4.4'
Conflicts: qbs/modules/qtc/qtc.qbs qtcreator.pri src/plugins/qbsprojectmanager/qbsproject.h Change-Id: I6b9cdf704be95ade02488c8b19582b6621282fb8
Diffstat (limited to 'src/libs/modelinglib/qmt/model_controller/modelcontroller.cpp')
-rw-r--r--src/libs/modelinglib/qmt/model_controller/modelcontroller.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/libs/modelinglib/qmt/model_controller/modelcontroller.cpp b/src/libs/modelinglib/qmt/model_controller/modelcontroller.cpp
index ddaeafc29f..614069e0b3 100644
--- a/src/libs/modelinglib/qmt/model_controller/modelcontroller.cpp
+++ b/src/libs/modelinglib/qmt/model_controller/modelcontroller.cpp
@@ -758,6 +758,13 @@ void ModelController::moveObject(MPackage *newOwner, MObject *object)
QMT_ASSERT(object, return);
QMT_ASSERT(object != m_rootPackage, return);
+ // verify that newOwner is not a child of object
+ MObject *newOwnerObject = newOwner;
+ while (newOwnerObject && newOwnerObject != object)
+ newOwnerObject = newOwnerObject->owner();
+ if (newOwnerObject == object)
+ return;
+
if (newOwner != object->owner()) {
int formerRow = 0;
MObject *formerOwner = object->owner();