summaryrefslogtreecommitdiffstats
path: root/layout/generic/nsPlaceholderFrame.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'layout/generic/nsPlaceholderFrame.cpp')
-rw-r--r--layout/generic/nsPlaceholderFrame.cpp5
1 files changed, 2 insertions, 3 deletions
diff --git a/layout/generic/nsPlaceholderFrame.cpp b/layout/generic/nsPlaceholderFrame.cpp
index bd380a2d9..62370a06a 100644
--- a/layout/generic/nsPlaceholderFrame.cpp
+++ b/layout/generic/nsPlaceholderFrame.cpp
@@ -156,16 +156,15 @@ nsPlaceholderFrame::DestroyFrom(nsIFrame* aDestructRoot)
{
nsIFrame* oof = mOutOfFlowFrame;
if (oof) {
- // Unregister out-of-flow frame
- nsFrameManager* fm = PresContext()->GetPresShell()->FrameManager();
- fm->UnregisterPlaceholderFrame(this);
mOutOfFlowFrame = nullptr;
+ oof->DeleteProperty(nsIFrame::PlaceholderFrameProperty());
// If aDestructRoot is not an ancestor of the out-of-flow frame,
// then call RemoveFrame on it here.
// Also destroy it here if it's a popup frame. (Bug 96291)
if ((GetStateBits() & PLACEHOLDER_FOR_POPUP) ||
!nsLayoutUtils::IsProperAncestorFrame(aDestructRoot, oof)) {
ChildListID listId = nsLayoutUtils::GetChildListNameFor(oof);
+ nsFrameManager* fm = PresContext()->GetPresShell()->FrameManager();
fm->RemoveFrame(listId, oof);
}
// else oof will be destroyed by its parent