30 lines
1.5 KiB
Diff
30 lines
1.5 KiB
Diff
diff -up qt-everywhere-opensource-src-4.6.3/src/3rdparty/webkit/WebCore/page/FrameView.cpp.CVE-2010-1778 qt-everywhere-opensource-src-4.6.3/src/3rdparty/webkit/WebCore/page/FrameView.cpp
|
|
--- qt-everywhere-opensource-src-4.6.3/src/3rdparty/webkit/WebCore/page/FrameView.cpp.CVE-2010-1778 2010-06-11 16:12:55.786338275 +0200
|
|
+++ qt-everywhere-opensource-src-4.6.3/src/3rdparty/webkit/WebCore/page/FrameView.cpp 2010-06-15 13:23:21.114401487 +0200
|
|
@@ -1189,14 +1189,13 @@ void FrameView::scheduleRelayoutOfSubtre
|
|
{
|
|
ASSERT(m_frame->view() == this);
|
|
|
|
- if (!m_layoutSchedulingEnabled || (m_frame->contentRenderer()
|
|
- && m_frame->contentRenderer()->needsLayout())) {
|
|
+ if (m_frame->contentRenderer() && m_frame->contentRenderer()->needsLayout()) {
|
|
if (relayoutRoot)
|
|
relayoutRoot->markContainingBlocksForLayout(false);
|
|
return;
|
|
}
|
|
|
|
- if (layoutPending()) {
|
|
+ if (layoutPending() || !m_layoutSchedulingEnabled) {
|
|
if (m_layoutRoot != relayoutRoot) {
|
|
if (isObjectAncestorContainerOf(m_layoutRoot, relayoutRoot)) {
|
|
// Keep the current root
|
|
@@ -1213,7 +1212,7 @@ void FrameView::scheduleRelayoutOfSubtre
|
|
relayoutRoot->markContainingBlocksForLayout(false);
|
|
}
|
|
}
|
|
- } else {
|
|
+ } else if (m_layoutSchedulingEnabled) {
|
|
int delay = m_frame->document()->minimumLayoutDelay();
|
|
m_layoutRoot = relayoutRoot;
|
|
m_delayedLayout = delay != 0;
|