diff --git a/openlp/core/ui/maindisplay.py b/openlp/core/ui/maindisplay.py index 25229a07e..78a60c2a5 100644 --- a/openlp/core/ui/maindisplay.py +++ b/openlp/core/ui/maindisplay.py @@ -362,6 +362,7 @@ class MainDisplay(Display): Generates a preview of the image displayed. """ log.debug(u'preview for %s', self.isLive) + was_visible = self.isVisible() Receiver.send_message(u'openlp_process_events') # We must have a service item to preview. if self.isLive and hasattr(self, u'serviceItem'): @@ -380,7 +381,8 @@ class MainDisplay(Display): if self.isLive: if self.hideMode: self.hideDisplay(self.hideMode) - else: + # Only continue if the visibility wasn't changed during method call. + elif was_visible == self.isVisible(): # Single screen active if self.screens.display_count == 1: # Only make visible if setting enabled.