[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-15 4:30:13
Message-ID: 1221453013.796209.19330.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 861088 by ggarand:

automatically merged revision 861056:
.tighten a bit the scroll rectangle
.always do ourselves the scrolling of external widgets.

 M  +15 -9     khtmlview.cpp  


--- branches/KDE/4.1/kdelibs/khtml/khtmlview.cpp #861087:861088
@@ -335,6 +335,18 @@
         contentsY = view->verticalScrollBar()->value();
     }
 
+    void scrollExternalWidgets(int dx, int dy)
+    {
+        if (visibleWidgets.isEmpty())
+            return;
+
+        QHashIterator<void*, QWidget*> it(visibleWidgets);
+        while (it.hasNext()) {
+            it.next();
+            it.value()->move( it.value()->pos() + QPoint(dx, dy) );
+        }
+    }
+
 #ifdef DEBUG_PIXEL
     QTime timer;
     unsigned int pixelbooth;
@@ -3861,14 +3873,7 @@
             for (int i = 0; i < ar.size() ; ++i) {
                 w->scroll( dx, dy, ar[i].translated(off) );
             }
-            // scroll external widgets
-            if (!d->visibleWidgets.isEmpty()) {
-                QHashIterator<void*, QWidget*> it(d->visibleWidgets);
-                while (it.hasNext()) {
-                    it.next();
-                    it.value()->move( it.value()->pos() + QPoint(dx, dy) );
-                }
-            }
+            d->scrollExternalWidgets(dx, dy);
         } else
             // we can't avoid a full update
             widget()->update();
@@ -3879,8 +3884,9 @@
     if (m_kwp->isRedirected()) {
         w->scroll(dx, dy, QRect(off.x(), off.y(), visibleWidth(), visibleHeight()));
     }  else {
-        widget()->scroll(dx, dy);
+        widget()->scroll(dx, dy, widget()->rect() & viewport()->rect());
     }
+    d->scrollExternalWidgets(dx, dy);
 }
 
 void KHTMLView::setupSmoothScrolling(int dx, int dy)
[prev in list] [next in list] [prev in thread] [next in thread] 

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