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(e)->region().boundingRect() : static_cast(e)->rect(); - bool asap = !isUpdate && !d->contentsMoving && qobject_cast(c); + bool asap = !d->contentsMoving && qobject_cast(c); if (isUpdate) { setInPaintEventFlag(w, false); - w->update(static_cast(e)->region()); + if (asap) + w->repaint(static_cast(e)->region()); + else + w->update(static_cast(e)->region()); setInPaintEventFlag(w); - // implicitly call qt_syncBackingStore(w) - QEvent fakeEvent(QEvent::UpdateRequest); - static_cast(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(m_part->xmlDocImpl()->renderer())->needsLayout() ) { repaintContents(x + pr.x(), y + pr.y(), pr.width(), pr.height()+1); // ### investigate that +1 (shows up when