[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    branches/KDE/4.1/kdelibs/khtml
From:       Germain Garand <germain () ebooksfrance ! org>
Date:       2008-09-24 4:08:06
Message-ID: 1222229286.490284.4286.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 864155 by ggarand:

automatically merged revision 864146:
replace this backingstore hack with either an update or a repaint
depending on emergency - as it would occasionally cause crashes.

BUG: 171170

 M  +6 -6      khtmlview.cpp  


--- branches/KDE/4.1/kdelibs/khtml/khtmlview.cpp #864154:864155
@@ -2218,19 +2218,19 @@
 		    y += ap.y();
 
 		    QRect pr = isUpdate ? \
static_cast<QUpdateLaterEvent*>(e)->region().boundingRect() : \
                static_cast<QPaintEvent*>(e)->rect();
-                    bool asap = !isUpdate && !d->contentsMoving && \
qobject_cast<QAbstractScrollArea*>(c); +                    bool asap = \
!d->contentsMoving && qobject_cast<QAbstractScrollArea*>(c);  
                     if (isUpdate) {
                         setInPaintEventFlag(w, false);
-                        w->update(static_cast<QUpdateLaterEvent*>(e)->region());
+                        if (asap)
+                            \
w->repaint(static_cast<QUpdateLaterEvent*>(e)->region()); +                        \
else +                            \
w->update(static_cast<QUpdateLaterEvent*>(e)->region());  setInPaintEventFlag(w);
-                        // implicitly call qt_syncBackingStore(w)
-                        QEvent fakeEvent(QEvent::UpdateRequest);
-                        static_cast<KHTMLBackingStoreHackWidget \
*>(w)->publicEvent(&fakeEvent);  }
 
 		    // QScrollView needs fast repaints
-		    if ( asap && !d->painting && m_part->xmlDocImpl() && \
m_part->xmlDocImpl()->renderer() && +		    if ( asap && !isUpdate && !d->painting && \
                m_part->xmlDocImpl() && m_part->xmlDocImpl()->renderer() &&
 		         !static_cast<khtml::RenderCanvas \
*>(m_part->xmlDocImpl()->renderer())->needsLayout() ) {  repaintContents(x + pr.x(), \
                y + pr.y(),
 	                                        pr.width(), pr.height()+1); // ### \
investigate that +1 (shows up when


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic