Skip to content

Commit ce54a4f

Browse files
authored
Merge pull request #25316 from anntzer/sc
Use setattr_cm more.
2 parents 7da6e48 + 9051065 commit ce54a4f

File tree

2 files changed

+2
-12
lines changed

2 files changed

+2
-12
lines changed

lib/matplotlib/backends/backend_pdf.py

+1-5
Original file line numberDiff line numberDiff line change
@@ -2766,12 +2766,8 @@ def savefig(self, figure=None, **kwargs):
27662766
raise ValueError(f"No figure {figure}")
27672767
figure = manager.canvas.figure
27682768
# Force use of pdf backend, as PdfPages is tightly coupled with it.
2769-
try:
2770-
orig_canvas = figure.canvas
2771-
figure.canvas = FigureCanvasPdf(figure)
2769+
with cbook._setattr_cm(figure, canvas=FigureCanvasPdf(figure)):
27722770
figure.savefig(self, format="pdf", **kwargs)
2773-
finally:
2774-
figure.canvas = orig_canvas
27752771

27762772
def get_pagecount(self):
27772773
"""Return the current number of pages in the multipage pdf file."""

lib/matplotlib/backends/backend_pgf.py

+1-7
Original file line numberDiff line numberDiff line change
@@ -1017,10 +1017,7 @@ def savefig(self, figure=None, **kwargs):
10171017
raise ValueError(f"No figure {figure}")
10181018
figure = manager.canvas.figure
10191019

1020-
try:
1021-
orig_canvas = figure.canvas
1022-
figure.canvas = FigureCanvasPgf(figure)
1023-
1020+
with cbook._setattr_cm(figure, canvas=FigureCanvasPgf(figure)):
10241021
width, height = figure.get_size_inches()
10251022
if self._n_figures == 0:
10261023
self._write_header(width, height)
@@ -1036,11 +1033,8 @@ def savefig(self, figure=None, **kwargs):
10361033
br'\else\pageheight\fi=%ain'
10371034
b'%%\n' % (width, height)
10381035
)
1039-
10401036
figure.savefig(self._file, format="pgf", **kwargs)
10411037
self._n_figures += 1
1042-
finally:
1043-
figure.canvas = orig_canvas
10441038

10451039
def get_pagecount(self):
10461040
"""Return the current number of pages in the multipage pdf file."""

0 commit comments

Comments
 (0)