Bug 67515 - kpresenter only shows the first slide
Summary: kpresenter only shows the first slide
Status: RESOLVED FIXED
Alias: None
Product: calligrastage
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: unspecified Linux
: NOR normal
Target Milestone: ---
Assignee: Laurent Montel
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2003-11-07 17:35 UTC by geiseri
Modified: 2003-12-16 16:13 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments
test presentation that annoys kpresenter (14.65 KB, application/octet-stream)
2003-11-07 17:39 UTC, geiseri
Details

Note You need to log in before you can comment on or make changes to this bug.
Description geiseri 2003-11-07 17:35:04 UTC
Version:           1.2.92 (using KDE 3.1.93 (CVS >= 20031028), yes)
Compiler:          gcc version 3.2.2 20030217 (Yellow Dog Linux 3.0 3.2.2-2a)
OS:          Linux (ppc) release 2.4.20-8d

I can only see the first page of a presentation.  If i play the presentation the timer refuses to work, and when i manually press the page effect happens but it then locks at the first page.
Comment 1 geiseri 2003-11-07 17:39:19 UTC
Created attachment 3068 [details]
test presentation that annoys kpresenter
Comment 2 T Zachmann 2003-11-18 08:03:01 UTC
Subject: koffice/kpresenter

CVS commit by zachmann: 

Fix: during a presentation varibales on the sticky page where not updated.

CCMAIL: 67515-done@bugs.kde.org


  M +16 -7     kprcanvas.cc   1.377
  M +1 -0      kprcanvas.h   1.143



Comment 3 geiseri 2003-12-14 19:28:40 UTC
Here is the rest of the patch to completely fix this bug:
Index: kprcanvas.cc
===================================================================
RCS file: /home/kde/koffice/kpresenter/kprcanvas.cc,v
retrieving revision 1.377
diff -u -u -r1.377 kprcanvas.cc
--- kprcanvas.cc        18 Nov 2003 07:02:29 -0000      1.377
+++ kprcanvas.cc        14 Dec 2003 18:27:46 -0000
@@ -3426,7 +3426,10 @@
     //draw sticky object
     //the numbers for the sticky page have to be recalculated
     KPrPage* saveActivePage = m_activePage;
-    setActivePage(m_view->kPresenterDoc()->pageList().at(currPresPage-1));
+    KPresenterDoc *doc = m_view->kPresenterDoc();
+    doc->displayActivePage( doc->pageList().at( currPresPage-1 ) );
+    setActivePage(doc->pageList().at( currPresPage - 1 ) );
+    //setActivePage(m_view->kPresenterDoc()->pageList().at(currPresPage-1));
     drawAllObjectsInPage( &p, stickyPage()->objectList() );
     setActivePage( saveActivePage );

Comment 4 geiseri 2003-12-14 20:04:33 UTC
This patch fixes printing too:
Index: kprcanvas.h
===================================================================
RCS file: /home/kde/koffice/kpresenter/kprcanvas.h,v
retrieving revision 1.143
diff -u -u -r1.143 kprcanvas.h
--- kprcanvas.h 18 Nov 2003 07:02:29 -0000      1.143
+++ kprcanvas.h 14 Dec 2003 18:58:48 -0000
@@ -420,7 +420,7 @@
     void _repaint( const QRect &r );
     void _repaint( KPObject *o );

-    void printPage( QPainter*, int pageNum ) const;
+    void printPage( QPainter*, int pageNum );
     void doObjEffects();
     void drawObject( KPObject*, QPixmap*, int, int, int, int, int, int );

Index: kprcanvas.cc
===================================================================
RCS file: /home/kde/koffice/kpresenter/kprcanvas.cc,v
retrieving revision 1.377
diff -u -u -r1.377 kprcanvas.cc
--- kprcanvas.cc        18 Nov 2003 07:02:29 -0000      1.377
+++ kprcanvas.cc        14 Dec 2003 18:58:54 -0000
@@ -3426,7 +3426,10 @@
     //draw sticky object
     //the numbers for the sticky page have to be recalculated
     KPrPage* saveActivePage = m_activePage;
-    setActivePage(m_view->kPresenterDoc()->pageList().at(currPresPage-1));
+    KPresenterDoc *doc = m_view->kPresenterDoc();
+    doc->displayActivePage( doc->pageList().at( currPresPage-1 ) );
+    setActivePage(doc->pageList().at( currPresPage - 1 ) );
+    //setActivePage(m_view->kPresenterDoc()->pageList().at(currPresPage-1));
     drawAllObjectsInPage( &p, stickyPage()->objectList() );
     setActivePage( saveActivePage );

@@ -3462,14 +3465,18 @@
     p.end();
 }

-void KPrCanvas::printPage( QPainter* painter, int pageNum ) const
+void KPrCanvas::printPage( QPainter* painter, int pageNum )
 {
     //kdDebug(33001) << "KPrCanvas::printPage" << endl;
-    KPrPage* page = m_view->kPresenterDoc()->pageList().at(pageNum);
-    QRect rect = page->getZoomPageRect();
-// TODO set current page to "page" ?
+    KPrPage* saveActivePage = m_activePage;
+    KPresenterDoc *doc = m_view->kPresenterDoc();
+    KPrPage* page = doc->pageList().at( pageNum );
+    QRect rect = page->getZoomPageRect();
+    doc->displayActivePage( page );
+    setActivePage( page );
     drawBackground( painter, rect );
     drawObjects( painter, rect, false, SM_NONE, false/*no specific effects*/ );
+    setActivePage( saveActivePage );
 }

 void KPrCanvas::doObjEffects()
Comment 5 geiseri 2003-12-16 16:13:18 UTC
Subject: koffice/kpresenter

CVS commit by geiseri: 

Fix text variables in printings, icon previews, and web export.
Blessed by David and Lukas.

CCMAIL: koffice-devel@mail.kde.org
CCMAIL: 67515-done@bugs.kde.org


  M +12 -5     kprcanvas.cc   1.378
  M +1 -1      kprcanvas.h   1.144


--- koffice/kpresenter/kprcanvas.cc  #1.377:1.378
@@ -3427,5 +3427,8 @@ void KPrCanvas::drawPageInPix( QPixmap &
     //the numbers for the sticky page have to be recalculated
     KPrPage* saveActivePage = m_activePage;
-    setActivePage(m_view->kPresenterDoc()->pageList().at(currPresPage-1));
+    KPresenterDoc *doc = m_view->kPresenterDoc();
+    doc->displayActivePage( doc->pageList().at( currPresPage-1 ) );
+    setActivePage(doc->pageList().at( currPresPage - 1 ) );
+    //setActivePage(m_view->kPresenterDoc()->pageList().at(currPresPage-1));
     drawAllObjectsInPage( &p, stickyPage()->objectList() );
     setActivePage( saveActivePage );
@@ -3463,12 +3466,16 @@ void KPrCanvas::drawCurrentPageInPix( QP
 }
 
-void KPrCanvas::printPage( QPainter* painter, int pageNum ) const
+void KPrCanvas::printPage( QPainter* painter, int pageNum ) 
 {
     //kdDebug(33001) << "KPrCanvas::printPage" << endl;
-    KPrPage* page = m_view->kPresenterDoc()->pageList().at(pageNum);
+    KPrPage* saveActivePage = m_activePage;
+    KPresenterDoc *doc = m_view->kPresenterDoc();
+    KPrPage* page = doc->pageList().at( pageNum );
     QRect rect = page->getZoomPageRect();
-// TODO set current page to "page" ?
+    doc->displayActivePage( page );
+    setActivePage( page );
     drawBackground( painter, rect );
     drawObjects( painter, rect, false, SM_NONE, false/*no specific effects*/ );
+    setActivePage( saveActivePage );
 }
 

--- koffice/kpresenter/kprcanvas.h  #1.143:1.144
@@ -421,5 +421,5 @@ protected:
     void _repaint( KPObject *o );
 
-    void printPage( QPainter*, int pageNum ) const;
+    void printPage( QPainter*, int pageNum );
     void doObjEffects();
     void drawObject( KPObject*, QPixmap*, int, int, int, int, int, int );