[Webkit-unassigned] [Bug 40377] [Qt] When Qt graphicslayer gets a setNeedsDisplay (ie all) it shouldn't record the rect then

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Jun 11 13:18:07 PDT 2010


https://bugs.webkit.org/show_bug.cgi?id=40377





--- Comment #2 from Noam Rosenthal <noam.rosenthal at nokia.com>  2010-06-11 13:18:07 PST ---
(From update of attachment 58274)
> @@ -458,10 +458,14 @@ void GraphicsLayerQtImpl::paint(QPainter* painter, const QStyleOptionGraphicsIte
>      switch (m_currentContent.contentType) {
>      case HTMLContentType:
>          if (m_state.drawsContent) {
> -            QPixmap backingStore;
> -            // We might need to recache, in case we try to paint and the cache was purged (e.g. if it was full).
> -            if (!QPixmapCache::find(m_backingStoreKey, &backingStore) || backingStore.size() != m_size.toSize())
> -                backingStore = recache(QRegion(m_state.contentsRect));
> +			QRegion region;
> +			if( m_pendingContent.updateAll )
> +				region |= boundingRect().toRect();
> +			else
> +				region |= m_pendingContent.regionToUpdate;
> +			m_pendingContent.updateAll = false;
> +			m_pendingContent.regionToUpdate = QRegion();
> +            const QPixmap backingStore = recache(region);
>              painter->drawPixmap(0, 0, backingStore);

This part doesn't seem correct - if we got to this point where we paint and there's nothing in the cache, we might need to paint more than the dirty region. This might occur, for example, when the cache was purged because it was full and some other item obscuring this one has moved away. 




TtThi

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


More information about the webkit-unassigned mailing list