summaryrefslogtreecommitdiffstats
path: root/WebCore/platform/qt/ScrollViewQt.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/platform/qt/ScrollViewQt.cpp')
-rw-r--r--WebCore/platform/qt/ScrollViewQt.cpp20
1 files changed, 13 insertions, 7 deletions
diff --git a/WebCore/platform/qt/ScrollViewQt.cpp b/WebCore/platform/qt/ScrollViewQt.cpp
index 76d9f01..48885d3 100644
--- a/WebCore/platform/qt/ScrollViewQt.cpp
+++ b/WebCore/platform/qt/ScrollViewQt.cpp
@@ -36,27 +36,33 @@ namespace WebCore {
void ScrollView::platformInit()
{
- m_widgetsThatPreventBlitting = 0;
+ m_widgetsPreventingBlitting = 0;
}
void ScrollView::platformDestroy()
{
}
-void ScrollView::platformAddChild(Widget* child)
+// Windowed plugins are using native windows and are thus preventing
+// us from doing any kind of scrolling optimization.
+
+void ScrollView::adjustWidgetsPreventingBlittingCount(int delta)
{
- root()->m_widgetsThatPreventBlitting++;
+ m_widgetsPreventingBlitting += delta;
if (parent())
- parent()->platformAddChild(child);
+ parent()->adjustWidgetsPreventingBlittingCount(delta);
+}
+
+void ScrollView::platformAddChild(Widget* child)
+{
+ adjustWidgetsPreventingBlittingCount(1);
}
void ScrollView::platformRemoveChild(Widget* child)
{
- ASSERT(root()->m_widgetsThatPreventBlitting);
- root()->m_widgetsThatPreventBlitting--;
child->hide();
+ adjustWidgetsPreventingBlittingCount(-1);
}
}
-
// vim: ts=4 sw=4 et