@@ -1407,14 +1407,17 @@ def __init__(self, name, canvas, x, y, button=None, key=None,
1407
1407
(*x*, *y*) in figure coords ((0, 0) = bottom left)
1408
1408
button pressed None, 1, 2, 3, 'up', 'down'
1409
1409
"""
1410
- LocationEvent .__init__ (self , name , canvas , x , y , guiEvent = guiEvent )
1411
1410
if button in MouseButton .__members__ .values ():
1412
1411
button = MouseButton (button )
1413
1412
self .button = button
1414
1413
self .key = key
1415
1414
self .step = step
1416
1415
self .dblclick = dblclick
1417
1416
1417
+ # super-init is deferred to the end because it calls back on
1418
+ # 'axes_enter_event', which requires a fully initialized event.
1419
+ LocationEvent .__init__ (self , name , canvas , x , y , guiEvent = guiEvent )
1420
+
1418
1421
def __str__ (self ):
1419
1422
return (f"{ self .name } : "
1420
1423
f"xy=({ self .x } , { self .y } ) xydata=({ self .xdata } , { self .ydata } ) "
@@ -1498,8 +1501,9 @@ def on_key(event):
1498
1501
cid = fig.canvas.mpl_connect('key_press_event', on_key)
1499
1502
"""
1500
1503
def __init__ (self , name , canvas , key , x = 0 , y = 0 , guiEvent = None ):
1501
- LocationEvent .__init__ (self , name , canvas , x , y , guiEvent = guiEvent )
1502
1504
self .key = key
1505
+ # super-init deferred to the end: callback errors if called before
1506
+ LocationEvent .__init__ (self , name , canvas , x , y , guiEvent = guiEvent )
1503
1507
1504
1508
1505
1509
def _get_renderer (figure , print_method = None , * , draw_disabled = False ):
0 commit comments