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

List:       kde-commits
Subject:    branches/work/kde4/kdegraphics/kpdf
From:       Albert Astals Cid <tsdgeos () terra ! es>
Date:       2005-05-31 22:26:04
Message-ID: 1117578364.072677.9040.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 420380 by aacid:

you can open files, but any try to scroll the viewport will make it crash


 M  +5 -1      core/document.cpp  
 M  +1 -0      core/generator_pdf/generator_pdf.cpp  
 M  +4 -3      ui/pageview.cpp  


--- branches/work/kde4/kdegraphics/kpdf/core/document.cpp #420379:420380
@@ -1173,6 +1173,10 @@
         while ( (pIt != pEnd) && (memoryToFree > 0) )
         {
             AllocatedPixmap * p = *pIt;
+#warning this should NOT be needed
+	    // TODO quick way to avoid crashes
+	    if (!d->observers[ p->id ]) return;
+	    
             if ( d->observers[ p->id ]->canUnloadPixmap( p->page ) )
             {
                 // update internal variables
@@ -1380,7 +1384,7 @@
         QDomElement bookmarkList = doc.createElement( "bookmarkList" );
         root.appendChild( bookmarkList );
 
-        for ( uint i = 0; i < pages_vector.count() ; i++ )
+        for ( int i = 0; i < pages_vector.count() ; i++ )
         {
             if ( pages_vector[i]->hasBookmark() )
             {
--- branches/work/kde4/kdegraphics/kpdf/core/generator_pdf/generator_pdf.cpp \
#420379:420380 @@ -289,6 +289,7 @@
     if ( request->async )
     {
         // start the generation into the thread
+	generatorThread->wait();
         generatorThread->startGeneration( request );
         return;
     }
--- branches/work/kde4/kdegraphics/kpdf/ui/pageview.cpp #420379:420380
@@ -434,7 +434,8 @@
     // create the screen painter. a pixel painted ar contentsX,contentsY
     // appears to the top-left corner of the scrollview.
     QPainter screenPainter( viewport() );
-    screenPainter.setClipping( true );
+// TODO seems we don't need that in Qt4
+//    screenPainter.setClipping( true );
     screenPainter.translate( -contentsX(), -contentsY() );
 
     // selectionRect is the normalized mouse selection rect
@@ -676,7 +677,7 @@
                 else
                     verticalScrollBar()->addPage();
             }
-            else if ( d->document->currentPage() < d->items.count() - 1 )
+            else if ( (int)d->document->currentPage() < d->items.count() - 1 )
             {
                 // more optmized than document->setNextPage and then move view to \
top  DocumentViewport newViewport = d->document->viewport();
@@ -1136,7 +1137,7 @@
     else if ( delta <= -120 && !Settings::viewContinuous() && vScroll == \
verticalScrollBar()->maxValue() )  {
         // go to next page
-        if ( d->document->currentPage() < d->items.count() - 1 )
+        if ( (int)d->document->currentPage() < d->items.count() - 1 )
         {
             // more optmized than document->setNextPage and then move view to top
             DocumentViewport newViewport = d->document->viewport();


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

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