From d441d6f39bb846989d95bcf5caf387b42414718d Mon Sep 17 00:00:00 2001 From: Allan Sandfeld Jensen Date: Fri, 13 Sep 2013 12:51:20 +0200 Subject: Import Qt5x2 branch of QtWebkit for Qt 5.2 Importing a new snapshot of webkit. Change-Id: I2d01ad12cdc8af8cb015387641120a9d7ea5f10c Reviewed-by: Allan Sandfeld Jensen --- Source/WebCore/rendering/RenderLayerModelObject.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'Source/WebCore/rendering/RenderLayerModelObject.cpp') diff --git a/Source/WebCore/rendering/RenderLayerModelObject.cpp b/Source/WebCore/rendering/RenderLayerModelObject.cpp index aeb32b7a2..bf32d15fd 100644 --- a/Source/WebCore/rendering/RenderLayerModelObject.cpp +++ b/Source/WebCore/rendering/RenderLayerModelObject.cpp @@ -37,7 +37,7 @@ bool RenderLayerModelObject::s_hadLayer = false; bool RenderLayerModelObject::s_hadTransform = false; bool RenderLayerModelObject::s_layerWasSelfPainting = false; -RenderLayerModelObject::RenderLayerModelObject(Node* node) +RenderLayerModelObject::RenderLayerModelObject(ContainerNode* node) : RenderObject(node) , m_layer(0) { @@ -75,6 +75,16 @@ bool RenderLayerModelObject::hasSelfPaintingLayer() const void RenderLayerModelObject::willBeDestroyed() { + if (isPositioned()) { + // Don't use this->view() because the document's renderView has been set to 0 during destruction. + if (Frame* frame = this->frame()) { + if (FrameView* frameView = frame->view()) { + if (style()->hasViewportConstrainedPosition()) + frameView->removeViewportConstrainedObject(this); + } + } + } + // RenderObject::willBeDestroyed calls back to destroyLayer() for layer destruction RenderObject::willBeDestroyed(); } -- cgit v1.2.1