From 7802d2672258b36e24d6b76a1be4eb5e3df1b322 Mon Sep 17 00:00:00 2001 From: Elliott Sales de Andrade Date: Thu, 31 Mar 2022 02:50:21 -0400 Subject: [PATCH] Fix deprecation of backend_tools.ToolBase.destroy If not overridden, this will crash since it attempts to call `None()`. --- lib/matplotlib/backend_managers.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/matplotlib/backend_managers.py b/lib/matplotlib/backend_managers.py index f32911be5f59..29bbe2ed58cd 100644 --- a/lib/matplotlib/backend_managers.py +++ b/lib/matplotlib/backend_managers.py @@ -206,9 +206,11 @@ def remove_tool(self, name): """ tool = self.get_tool(name) - _api.deprecate_method_override( + destroy = _api.deprecate_method_override( backend_tools.ToolBase.destroy, tool, since="3.6", - alternative="tool_removed_event")() + alternative="tool_removed_event") + if destroy is not None: + destroy() # If it's a toggle tool and toggled, untoggle if getattr(tool, 'toggled', False):