From a3da152cb56641c452bcd973e46f7b473824b1bd Mon Sep 17 00:00:00 2001 From: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com> Date: Sat, 25 May 2019 08:24:29 +0200 Subject: [PATCH] Backport PR #14319: Don't set missing history buttons. --- lib/matplotlib/backends/backend_gtk3.py | 6 ++++-- lib/matplotlib/backends/backend_qt5.py | 6 ++++-- lib/matplotlib/backends/backend_wx.py | 6 ++++-- 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/lib/matplotlib/backends/backend_gtk3.py b/lib/matplotlib/backends/backend_gtk3.py index 9f6d1f693c29..034bb6baae87 100644 --- a/lib/matplotlib/backends/backend_gtk3.py +++ b/lib/matplotlib/backends/backend_gtk3.py @@ -611,8 +611,10 @@ def _get_canvas(self, fig): def set_history_buttons(self): can_backward = self._nav_stack._pos > 0 can_forward = self._nav_stack._pos < len(self._nav_stack._elements) - 1 - self._gtk_ids['Back'].set_sensitive(can_backward) - self._gtk_ids['Forward'].set_sensitive(can_forward) + if 'Back' in self._gtk_ids: + self._gtk_ids['Back'].set_sensitive(can_backward) + if 'Forward' in self._gtk_ids: + self._gtk_ids['Forward'].set_sensitive(can_forward) @cbook.deprecated("3.1") diff --git a/lib/matplotlib/backends/backend_qt5.py b/lib/matplotlib/backends/backend_qt5.py index 7dc25faaff22..c03c7771c918 100644 --- a/lib/matplotlib/backends/backend_qt5.py +++ b/lib/matplotlib/backends/backend_qt5.py @@ -851,8 +851,10 @@ def save_figure(self, *args): def set_history_buttons(self): can_backward = self._nav_stack._pos > 0 can_forward = self._nav_stack._pos < len(self._nav_stack._elements) - 1 - self._actions['back'].setEnabled(can_backward) - self._actions['forward'].setEnabled(can_forward) + if 'back' in self._actions: + self._actions['back'].setEnabled(can_backward) + if 'forward' in self._actions: + self._actions['forward'].setEnabled(can_forward) class SubplotToolQt(UiSubplotTool): diff --git a/lib/matplotlib/backends/backend_wx.py b/lib/matplotlib/backends/backend_wx.py index 95499700ccc2..6ee48484ccbb 100644 --- a/lib/matplotlib/backends/backend_wx.py +++ b/lib/matplotlib/backends/backend_wx.py @@ -1567,8 +1567,10 @@ def set_message(self, s): def set_history_buttons(self): can_backward = self._nav_stack._pos > 0 can_forward = self._nav_stack._pos < len(self._nav_stack._elements) - 1 - self.EnableTool(self.wx_ids['Back'], can_backward) - self.EnableTool(self.wx_ids['Forward'], can_forward) + if 'Back' in self.wx_ids: + self.EnableTool(self.wx_ids['Back'], can_backward) + if 'Forward' in self.wx_ids: + self.EnableTool(self.wx_ids['Forward'], can_forward) class StatusBarWx(wx.StatusBar):