diff --git a/lib/matplotlib/backend_bases.py b/lib/matplotlib/backend_bases.py index 9909634b89e2..5d0f8b728009 100644 --- a/lib/matplotlib/backend_bases.py +++ b/lib/matplotlib/backend_bases.py @@ -2149,6 +2149,15 @@ def print_figure(self, filename, dpi=None, facecolor=None, edgecolor=None, """ self._is_saving = True + # Remove the figure manager, if any, to avoid resizing the GUI widget. + # Having *no* manager and a *None* manager are currently different (see + # Figure.show); should probably be normalized to None at some point. + _no_manager = object() + if hasattr(self, 'manager'): + manager = self.manager + del self.manager + else: + manager = _no_manager if format is None: # get format from filename, or from backend's default filetype @@ -2267,8 +2276,9 @@ def print_figure(self, filename, dpi=None, facecolor=None, edgecolor=None, self.figure.set_facecolor(origfacecolor) self.figure.set_edgecolor(origedgecolor) self.figure.set_canvas(self) + if manager is not _no_manager: + self.manager = manager self._is_saving = False - #self.figure.canvas.draw() ## seems superfluous return result @classmethod
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: