diff options
Diffstat (limited to 'WebCore/platform/qt/ScrollViewQt.cpp')
-rw-r--r-- | WebCore/platform/qt/ScrollViewQt.cpp | 20 |
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 |