Skip to content

Commit 668304d

Browse files
committed
Remove __dell__ method
1 parent adfd6bb commit 668304d

1 file changed

Lines changed: 4 additions & 11 deletions

File tree

‎lib/matplotlib/widgets.py‎

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -120,16 +120,6 @@ def __init__(self, ax):
120120
self._cids = []
121121
self._blit_background_id = None
122122

123-
def __del__(self):
124-
blit_background_id = getattr(self, '_blit_background_id', None)
125-
# __del__ may be called on a partially initialized object, e.g.,
126-
# when __init__ raises. Therefore, we handle missing attributes
127-
# gracefully.
128-
if blit_background_id is not None:
129-
canvas = getattr(self, 'canvas', None)
130-
if canvas is not None:
131-
canvas._release_blit_background_id(blit_background_id)
132-
133123
canvas = property(
134124
lambda self: getattr(self.ax.get_figure(root=True), 'canvas', None)
135125
)
@@ -170,7 +160,10 @@ def _save_blit_background(self, background):
170160
good enough for all existing widgets.
171161
"""
172162
if self._blit_background_id is None:
173-
self._blit_background_id = self.canvas._get_blit_background_id()
163+
bbid = self.canvas._get_blit_background_id()
164+
import weakref
165+
weakref.finalize(self, self.canvas._release_blit_background_id, bbid)
166+
self._blit_background_id = bbid
174167
self.canvas._blit_backgrounds[self._blit_background_id] = background
175168

176169
def _load_blit_background(self):

0 commit comments

Comments
 (0)