Bug 133549 - currentPage not updated while in Presentation mode
Summary: currentPage not updated while in Presentation mode
Status: RESOLVED FIXED
Alias: None
Product: kpdf
Classification: Unmaintained
Component: general (show other bugs)
Version: 0.5.4
Platform: unspecified Linux
: NOR normal
Target Milestone: ---
Assignee: Albert Astals Cid
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-09-04 16:14 UTC by Marco Cesati
Modified: 2006-09-09 19:14 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Marco Cesati 2006-09-04 16:14:34 UTC
Version:           0.5.4 (using KDE 3.5.4, compiled sources)
Compiler:          gcc version 3.3.6
OS:                Linux (i686) release 2.6.17.8

While in Presentation mode, currentPage is not updated. This means that a DCOP-based script cannot fetch the current page being displayed during a presentation.

(I'm not sure whether this report should be tagged bug or wish.)
Comment 1 Albert Astals Cid 2006-09-04 17:22:52 UTC
bug
Comment 2 Albert Astals Cid 2006-09-09 19:14:44 UTC
SVN commit 582529 by aacid:

Fix page number not beign correct when using dcop and changing pages through the presentation widget
BUGS: 133549


 M  +4 -4      presentationwidget.cpp  


--- branches/KDE/3.5/kdegraphics/kpdf/ui/presentationwidget.cpp #582528:582529
@@ -85,10 +85,6 @@
     // remove this widget from document observer
     m_document->removeObserver( this );
 
-    // set a new viewport in document if page number differs
-    if ( m_frameIndex != -1 && m_frameIndex != m_document->viewport().pageNumber )
-        m_document->setViewportPage( m_frameIndex/*, PRESENTATION_ID*/ );
-
     // delete frames
     QValueVector< PresentationFrame * >::iterator fIt = m_frames.begin(), fEnd = m_frames.end();
     for ( ; fIt != fEnd; ++fIt )
@@ -456,6 +452,10 @@
         // make the background pixmap
         generatePage();
     }
+    
+    // set a new viewport in document if page number differs
+    if ( m_frameIndex != -1 && m_frameIndex != m_document->viewport().pageNumber )
+        m_document->setViewportPage( m_frameIndex, PRESENTATION_ID );
 }
 
 void PresentationWidget::generatePage()