From 5b94924fb1887d9ca6bbe78281cb200c1db8bb89 Mon Sep 17 00:00:00 2001 From: ilikethese Date: Fri, 15 Dec 2023 10:59:52 +0800 Subject: [PATCH] fix(dom): convert layout result nan to 0 --- dom/src/dom/dom_node.cc | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/dom/src/dom/dom_node.cc b/dom/src/dom/dom_node.cc index 96c1a33d09f..b1cebb9be71 100644 --- a/dom/src/dom/dom_node.cc +++ b/dom/src/dom/dom_node.cc @@ -326,10 +326,10 @@ void DomNode::TransferLayoutOutputsRecursive(std::vectorGetLeft()) || not_equal(layout_.top, layout_node_->GetTop()) || not_equal(layout_.width, layout_node_->GetWidth()) || not_equal(layout_.height, layout_node_->GetHeight()); - layout_.left = layout_node_->GetLeft(); - layout_.top = layout_node_->GetTop(); - layout_.width = layout_node_->GetWidth(); - layout_.height = layout_node_->GetHeight(); + layout_.left = std::isnan(layout_node_->GetLeft()) ? 0 : layout_node_->GetLeft(); + layout_.top = std::isnan(layout_node_->GetTop()) ? 0 : layout_node_->GetTop(); + layout_.width = std::isnan(layout_node_->GetWidth()) ? 0 : layout_node_->GetWidth(); + layout_.height = std::isnan(layout_node_->GetHeight()) ? 0 : layout_node_->GetHeight(); layout_.marginLeft = layout_node_->GetMargin(Edge::EdgeLeft); layout_.marginTop = layout_node_->GetMargin(Edge::EdgeTop); layout_.marginRight = layout_node_->GetMargin(Edge::EdgeRight);