From b29522749a9ba7245485766d0101c700847a11b6 Mon Sep 17 00:00:00 2001 From: FranklinDM Date: Wed, 22 Mar 2023 17:29:00 +0800 Subject: [PATCH] Issue #1592 - Follow-up: Don't post a restyle event if restyleElement is null This fixes a potential crash caused if restyleElement is null. --- dom/base/ShadowRoot.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/dom/base/ShadowRoot.cpp b/dom/base/ShadowRoot.cpp index 8482da5e99..abf6301123 100644 --- a/dom/base/ShadowRoot.cpp +++ b/dom/base/ShadowRoot.cpp @@ -163,6 +163,7 @@ ShadowRoot::AddSlot(HTMLSlotElement* aSlot) oldSlot->RemoveAssignedNode(assignedNode); currentSlot->AppendAssignedNode(assignedNode); + Element* restyleElement; if (assignedNode->IsElement()) { restyleElement = assignedNode->AsElement(); @@ -170,8 +171,10 @@ ShadowRoot::AddSlot(HTMLSlotElement* aSlot) // This is likely a text node. Use the host instead. restyleElement = GetHost(); } - nsLayoutUtils::PostRestyleEvent( - restyleElement, eRestyle_Subtree, nsChangeHint(0)); + if (restyleElement) { + nsLayoutUtils::PostRestyleEvent( + restyleElement, eRestyle_Subtree, nsChangeHint(0)); + } doEnqueueSlotChange = true; }