From ddaaa0ec06ba0fc11d7cf630a4246d0144e86716 Mon Sep 17 00:00:00 2001 From: Antony Lee Date: Mon, 15 Apr 2024 11:36:37 +0200 Subject: [PATCH] Parent tk StringVar to the canvas widget, not to the toolbar. ... because the toolbar may be a fake object (when using rcParams["toolbar"] = "toolmanager"). Try with `rcParams["toolbar"] = "toolmanager; use("tkagg")` and interactively saving the picture. No automated tests, sorry. --- lib/matplotlib/backends/_backend_tk.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/matplotlib/backends/_backend_tk.py b/lib/matplotlib/backends/_backend_tk.py index 5eca9229b61d..693499f4ca01 100644 --- a/lib/matplotlib/backends/_backend_tk.py +++ b/lib/matplotlib/backends/_backend_tk.py @@ -843,7 +843,7 @@ def save_figure(self, *args): default_extension = self.canvas.get_default_filetype() default_filetype = self.canvas.get_supported_filetypes()[default_extension] - filetype_variable = tk.StringVar(self, default_filetype) + filetype_variable = tk.StringVar(self.canvas.get_tk_widget(), default_filetype) # adding a default extension seems to break the # asksaveasfilename dialog when you choose various save types