[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: branches/KDE/4.4/kdelibs/khtml/rendering
From: Germain Garand <germain () ebooksfrance ! org>
Date: 2010-02-24 2:17:49
Message-ID: 1266977869.971454.24656.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 1095343 by ggarand:
automatically merged revision 1088982:
don't allow any synchronous update of scrollbars during layout
M +8 -1 render_layer.cpp
M +2 -1 render_layer.h
--- branches/KDE/4.4/kdelibs/khtml/rendering/render_layer.cpp #1095342:1095343
@@ -75,7 +75,14 @@
void
RenderScrollMediator::slotValueChanged()
{
- m_layer->updateScrollPositionFromScrollbars();
+ if ( m_layer->renderer()->canvas()->isPerformingLayout() ) {
+ if (!m_waitingForUpdate)
+ QTimer::singleShot(0, this, SLOT(slotValueChanged()));
+ m_waitingForUpdate = true;
+ } else {
+ m_waitingForUpdate = false;
+ m_layer->updateScrollPositionFromScrollbars();
+ }
}
RenderLayer::RenderLayer(RenderObject* object)
--- branches/KDE/4.4/kdelibs/khtml/rendering/render_layer.h #1095342:1095343
@@ -62,13 +62,14 @@
Q_OBJECT
public:
RenderScrollMediator(RenderLayer* layer)
- :m_layer(layer) {}
+ :m_layer(layer), m_waitingForUpdate(false) {}
public Q_SLOTS:
void slotValueChanged();
private:
RenderLayer* m_layer;
+ bool m_waitingForUpdate;
};
// This class handles the auto-scrolling of layers with overflow: marquee.
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic