fix recursive iframe

This commit is contained in:
MihailRis 2026-09-26 20:28:20 +03:00
parent 4f1411b005
commit c3b50b5ab2
3 changed files with 10 additions and 1 deletions

View file

@ -25,8 +25,12 @@ void InlineFrame::setDocument(const std::shared_ptr<UiDocument>& document) {
if (document == nullptr) {
return;
}
auto newRoot = document->getRoot();
if (newRoot->hasParent()) {
return;
}
this->document = document;
this->root = document->getRoot();
this->root = std::move(newRoot);
add(root);
root->setSize(size);

View file

@ -60,6 +60,10 @@ bool UINode::isHover() const {
return hover;
}
bool UINode::hasParent() const {
return parent != nullptr;
}
void UINode::setParent(UINode* node) {
parent = node;
}

View file

@ -176,6 +176,7 @@ namespace gui {
void setMouseOver(bool flag);
virtual void setParent(UINode* node);
bool hasParent() const;
UINode* getParent() const;
std::shared_ptr<UINode> getParentShared() const;