diff options
Diffstat (limited to 'src/ui/render/RenderObject.cpp')
-rw-r--r-- | src/ui/render/RenderObject.cpp | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/ui/render/RenderObject.cpp b/src/ui/render/RenderObject.cpp index 67bbae12..6c09ce99 100644 --- a/src/ui/render/RenderObject.cpp +++ b/src/ui/render/RenderObject.cpp @@ -6,6 +6,19 @@ #include "cru/ui/host/WindowHost.h" namespace cru::ui::render { + +void RenderObject::SetParent(RenderObject* new_parent) { +#ifdef CRU_DEBUG + // In case there is a cycle. + auto parent = new_parent; + while (parent) { + assert(parent != this); + parent = parent->GetParent(); + } +#endif + parent_ = new_parent; +} + void RenderObject::SetAttachedControl(controls::Control* new_control) { auto old_control = control_; control_ = new_control; |