aboutsummaryrefslogtreecommitdiff
path: root/src/ui/render/RenderObject.cpp
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2022-02-16 22:42:34 +0800
committercrupest <crupest@outlook.com>2022-02-16 22:42:34 +0800
commitf75ab0bd662c73d15057d746347d09bf94a992a6 (patch)
tree91efc33de481edf5304001d80b914b69cc0fb338 /src/ui/render/RenderObject.cpp
parent2711b7032cafdc9bdbd6ae06db0325c91e6e7f63 (diff)
downloadcru-f75ab0bd662c73d15057d746347d09bf94a992a6.tar.gz
cru-f75ab0bd662c73d15057d746347d09bf94a992a6.tar.bz2
cru-f75ab0bd662c73d15057d746347d09bf94a992a6.zip
...
Diffstat (limited to 'src/ui/render/RenderObject.cpp')
-rw-r--r--src/ui/render/RenderObject.cpp13
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;