8000 Shorten Tk idle handling. · matplotlib/matplotlib@4c55250 · GitHub
[go: up one dir, main page]

Skip to content

Commit 4c55250

Browse files
committed
Shorten Tk idle handling.
Also, rename variable to match GTK3 backend.
1 parent e2ac69b commit 4c55250

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=None, 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
"""
@@ -438,8 +435,8 @@ def destroy(*args):
438435
self._shown = True
439436

440437
def destroy(self, *args):
441-
if self.canvas._idle_callback:
442-
self.canvas._tkcanvas.after_cancel(self.canvas._idle_callback)
438+
if self.canvas._idle_draw_id:
439+
self.canvas._tkcanvas.after_cancel(self.canvas._idle_draw_id)
443440

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

0 commit comments

Comments
 (0)
0