summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/tools/dcpomatic_kdm.cc9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/tools/dcpomatic_kdm.cc b/src/tools/dcpomatic_kdm.cc
index 5393a7fd1..12fa614cc 100644
--- a/src/tools/dcpomatic_kdm.cc
+++ b/src/tools/dcpomatic_kdm.cc
@@ -527,6 +527,15 @@ private:
group = to->second->parent();
}
+ /* Check we're not adding a group to one of its children */
+ auto to_parent = group;
+ while (to_parent) {
+ if (from->second == to_parent) {
+ return;
+ }
+ to_parent = to_parent->parent();
+ }
+
DCPOMATIC_ASSERT (group);
DCPOMATIC_ASSERT (from->second->parent ());