diff options
Diffstat (limited to 'src/libs/modelinglib/qmt/model_controller/modelcontroller.cpp')
-rw-r--r-- | src/libs/modelinglib/qmt/model_controller/modelcontroller.cpp | 7 |
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 2b940f012a..9257e149b3 100644 --- a/src/libs/modelinglib/qmt/model_controller/modelcontroller.cpp +++ b/src/libs/modelinglib/qmt/model_controller/modelcontroller.cpp @@ -756,6 +756,13 @@ void ModelController::moveObject(MPackage *newOwner, MObject *object) QMT_CHECK(object); QMT_CHECK(object != m_rootPackage); + // 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(); |