diff --git a/openlp/core/ui/slidecontroller.py b/openlp/core/ui/slidecontroller.py index 84ed0454c..30341b9dd 100644 --- a/openlp/core/ui/slidecontroller.py +++ b/openlp/core/ui/slidecontroller.py @@ -625,9 +625,7 @@ class SlideController(QtGui.QWidget): 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: diff --git a/openlp/plugins/presentations/lib/messagelistener.py b/openlp/plugins/presentations/lib/messagelistener.py index e4c1fab14..d9cc9bdf0 100644 --- a/openlp/plugins/presentations/lib/messagelistener.py +++ b/openlp/plugins/presentations/lib/messagelistener.py @@ -95,6 +95,8 @@ class Controller(object): 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 @@ class Controller(object): 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)