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

List:       kde-commits
Subject:    kdegraphics/kpdf/ui
From:       Enrico Ros <rosenric () dei ! unipd ! it>
Date:       2005-02-18 21:14:03
Message-ID: 20050218211403.2C1A71D796 () office ! kde ! org
[Download RAW message or body]

CVS commit by eros: 

Fixing the bug Albert told me about (generalizes the 'exit fullscreen' bug
that Albert fixed a while ago). Always ensure that pixmaps are requested
if a relayout has been performed, even if the viewport is not moved but
contents changed.
Removed a warning.


  M +8 -5      pageview.cpp   1.42


--- kdegraphics/kpdf/ui/pageview.cpp  #1.41:1.42
@@ -231,5 +231,5 @@ bool PageView::canFitPageWidth()
 }
 
-void PageView::fitPageWidth( int page )
+void PageView::fitPageWidth( int /*page*/ )
 {
     d->aZoom->setCurrentItem(0);
@@ -1590,7 +1590,4 @@ void PageView::slotRelayoutPages()
 
         delete [] colWidth;
-
-        // this can cause a little overhead
-        slotRequestVisiblePixmaps();
     }
 
@@ -1612,4 +1609,6 @@ void PageView::slotRelayoutPages()
             if ( vp.pageNumber >= 0 )
             {
+                int prevX = contentsX(),
+                    prevY = contentsY();
                 const QRect & geometry = d->items[ vp.pageNumber ]->geometry();
                 double nX = vp.reCenter.enabled ? vp.reCenter.normalizedCenterX : 0.5,
@@ -1617,4 +1616,8 @@ void PageView::slotRelayoutPages()
                 center( geometry.left() + ROUND( nX * (double)geometry.width() ),
                         geometry.top() + ROUND( nY * (double)geometry.height() ) );
+                // center() usually moves the viewport, that requests pixmaps too.
+                // if that doesn't happen we have to request them by hand
+                if ( prevX == contentsX() && prevY == contentsY() )
+                    slotRequestVisiblePixmaps();
             }
             // or else go to center page


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

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