diff --git a/virtManager/console.py b/virtManager/console.py index e631d283..cb0aa6fd 100644 --- a/virtManager/console.py +++ b/virtManager/console.py @@ -499,15 +499,11 @@ class vmmConsolePages(vmmGObjectUI): if self._viewer is None: return - viewer = self._viewer - display = getattr(viewer, "_display") + self._viewer.console_remove_display_from_widget( + self.widget("console-gfx-viewport")) + self._viewer.cleanup() self._viewer = None - viewport = self.widget("console-gfx-viewport") - if display and display in viewport.get_children(): - viewport.remove(display) - - viewer.cleanup() self._viewer_is_connected = False self._refresh_can_fullscreen() self._leave_fullscreen() diff --git a/virtManager/viewers.py b/virtManager/viewers.py index c6768be5..9d08bb95 100644 --- a/virtManager/viewers.py +++ b/virtManager/viewers.py @@ -249,6 +249,10 @@ class Viewer(vmmGObject): def console_has_agent(self): return self._has_agent() + def console_remove_display_from_widget(self, widget): + if self._display and self._display in widget.get_children(): + widget.remove(self._display) + #################### # VNC viewer class #