← Back to team overview

openlp-core team mailing list archive

[Merge] lp:~j-corwin/openlp/bug-765368 into lp:openlp

 

Jonathan Corwin has proposed merging lp:~j-corwin/openlp/bug-765368 into lp:openlp.

Requested reviews:
  OpenLP Core (openlp-core)
Related bugs:
  Bug #759660 in OpenLP: "OpenLP uses 1.7 gig of ram then crashes"
  https://bugs.launchpad.net/openlp/+bug/759660
  Bug #765368 in OpenLP: "powerpoint end of slides crashes with traceback"
  https://bugs.launchpad.net/openlp/+bug/765368

For more details, see:
https://code.launchpad.net/~j-corwin/openlp/bug-765368/+merge/64911

Prevent error if attempt to keep going off the end of a presentation.
Reduce memory usage by not resizing small thumbnails back up to full monitor size in the slidecontroller.
-- 
https://code.launchpad.net/~j-corwin/openlp/bug-765368/+merge/64911
Your team OpenLP Core is requested to review the proposed merge of lp:~j-corwin/openlp/bug-765368 into lp:openlp.
=== modified file 'openlp/core/ui/slidecontroller.py'
--- openlp/core/ui/slidecontroller.py	2011-06-12 16:02:52 +0000
+++ openlp/core/ui/slidecontroller.py	2011-06-16 22:14:27 +0000
@@ -625,9 +625,7 @@
                 label.setMargin(4)
                 label.setScaledContents(True)
                 if self.serviceItem.is_command():
-                    image = resize_image(frame[u'image'],
-                        self.parent().renderer.width,
-                        self.parent().renderer.height)
+                    image = QtGui.QImage(frame[u'image'])
                 else:
                     # If current slide set background to image
                     if framenumber == slideno:

=== modified file 'openlp/plugins/presentations/lib/messagelistener.py'
--- openlp/plugins/presentations/lib/messagelistener.py	2011-06-12 16:02:52 +0000
+++ openlp/plugins/presentations/lib/messagelistener.py	2011-06-16 22:14:27 +0000
@@ -95,6 +95,8 @@
         if self.is_live:
             self.doc.start_presentation()
             if self.doc.slidenumber > 1:
+                if self.doc.slidenumber > self.doc.get_slide_count():
+                    self.doc.slidenumber = self.doc.get_slide_count()
                 self.doc.goto_slide(self.doc.slidenumber)
 
     def slide(self, slide):
@@ -150,6 +152,11 @@
             if self.doc.slidenumber < self.doc.get_slide_count():
                 self.doc.slidenumber = self.doc.slidenumber + 1
             return
+        # The "End of slideshow" screen is after the last slide
+        # Note, we can't just stop on the last slide, since it may
+        # contain animations that need to be stepped through.
+        if self.doc.slidenumber > self.doc.get_slide_count():
+            return
         self.activate()
         self.doc.next_step()
         self.doc.poll_slidenumber(self.is_live)


Follow ups