Skip to content

Commit 3730b9e

Browse files
committed
Shorten Tk idle handling.
Also, rename variable to match GTK3 backend.
1 parent 74340e2 commit 3730b9e

File tree

1 file changed

+6
-9
lines changed

1 file changed

+6
-9
lines changed

lib/matplotlib/backends/_backend_tk.py

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -165,8 +165,7 @@ class FigureCanvasTk(FigureCanvasBase):
165165
alternative="get_tk_widget().bind('<Configure>', ..., True)")
166166
def __init__(self, figure, master=None, resize_callback=None):
167167
super().__init__(figure)
168-
self._idle = True
169-
self._idle_callback = None
168+
self._idle_draw_id = None
170169
w, h = self.figure.bbox.size.astype(int)
171170
self._tkcanvas = tk.Canvas(
172171
master=master, background="white",
@@ -230,18 +229,16 @@ def resize(self, event):
230229

231230
def draw_idle(self):
232231
# docstring inherited
233-
if not self._idle:
232+
if self._idle_draw_id:
234233
return
235234

236-
self._idle = False
237-
238235
def idle_draw(*args):
239236
try:
240237
self.draw()
241238
finally:
242-
self._idle = True
239+
self._idle_draw_id = None
243240

244-
self._idle_callback = self._tkcanvas.after_idle(idle_draw)
241+
self._idle_draw_id = self._tkcanvas.after_idle(idle_draw)
245242

246243
def get_tk_widget(self):
247244
"""
@@ -449,8 +446,8 @@ def destroy(*args):
449446
self._shown = True
450447

451448
def destroy(self, *args):
452-
if self.canvas._idle_callback:
453-
self.canvas._tkcanvas.after_cancel(self.canvas._idle_callback)
449+
if self.canvas._idle_draw_id:
450+
self.canvas._tkcanvas.after_cancel(self.canvas._idle_draw_id)
454451

455452
# NOTE: events need to be flushed before issuing destroy (GH #9956),
456453
# however, self.window.update() can break user code. This is the

0 commit comments

Comments
 (0)