@@ -1420,14 +1420,17 @@ def __init__(self, name, canvas, x, y, button=None, key=None,
1420
1420
(*x*, *y*) in figure coords ((0, 0) = bottom left)
1421
1421
button pressed None, 1, 2, 3, 'up', 'down'
1422
1422
"""
1423
- LocationEvent .__init__ (self , name , canvas , x , y , guiEvent = guiEvent )
1424
1423
if button in MouseButton .__members__ .values ():
1425
1424
button = MouseButton (button )
1426
1425
self .button = button
1427
1426
self .key = key
1428
1427
self .step = step
1429
1428
self .dblclick = dblclick
1430
1429
1430
+ # super-init is deferred to the end because it calls back on
1431
+ # 'axes_enter_event', which requires a fully initialized event.
1432
+ LocationEvent .__init__ (self , name , canvas , x , y , guiEvent = guiEvent )
1433
+
1431
1434
def __str__ (self ):
1432
1435
return (f"{ self .name } : "
1433
1436
f"xy=({ self .x } , { self .y } ) xydata=({ self .xdata } , { self .ydata } ) "
@@ -1512,8 +1515,9 @@ def on_key(event):
1512
1515
cid = fig.canvas.mpl_connect('key_press_event', on_key)
1513
1516
"""
1514
1517
def __init__ (self , name , canvas , key , x = 0 , y = 0 , guiEvent = None ):
1515
- LocationEvent .__init__ (self , name , canvas , x , y , guiEvent = guiEvent )
1516
1518
self .key = key
1519
+ # super-init deferred to the end: callback errors if called before
1520
+ LocationEvent .__init__ (self , name , canvas , x , y , guiEvent = guiEvent )
1517
1521
1518
1522
1519
1523
def _get_renderer (figure , print_method , * , draw_disabled = False ):
0 commit comments