Problems with scrolled_canvas_demo.py
- Dominant language
- C
- Stars
- 97
- Forks
- 45
- PR merge metrics
- No merged PRs in 30d
Description
When running https://github.com/enthought/enable/blob/7b56e5275c707e7ee5749ce4ba141240729f5a26/examples/enable/scrolled_canvas_demo.py
the example opens fine and you can scroll with the scroll bars, but if I try to do a 2 finger scroll on mac mouse pad the demo crashes with long traceback. Similarly it crashes if I click and drag around.
```
Exception occurred in traits notification handler for object: , trait: view_bounds, old value: (16.034749332259253, 87.33493040852727, 708.8172505529624, 780.1174316292304), new value: (16.034749357307874, 87.33493041422457, 708.817250578011, 780.1174316349277)
Traceback (most recent call last):
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_notifiers.py", line 340, in __call__
self.handler(*args)
File "/Users/aayres/Desktop/enable/enable/canvas.py", line 172, in _view_bounds_changed
llx = min(llx, x)
RecursionError: maximum recursion depth exceeded in comparison
Fatal Python error: Cannot recover from stack overflow.
Current thread 0x00000001088e1dc0 (most recent call first):
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_list_object.py", line 857 in _item_validator
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_list_object.py", line 210 in
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_list_object.py", line 210 in __init__
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_list_object.py", line 582 in __init__
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_types.py", line 2473 in validate
File "/Users/aayres/Desktop/enable/enable/canvas.py", line 176 in _view_bounds_changed
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_notifiers.py", line 340 in __call__
File "/Users/aayres/Desktop/enable/enable/viewport.py", line 283 in _update_component_view_bounds
File "/Users/aayres/Desktop/enable/enable/viewport.py", line 323 in _handle_view_box_changed
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_notifiers.py", line 484 in dispatch
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_notifiers.py", line 522 in _dispatch_change_event
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_notifiers.py", line 550 in _notify_method_listener
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_notifiers.py", line 476 in __call__
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_list_object.py", line 618 in notifier
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_list_object.py", line 234 in notify
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_list_object.py", line 349 in __setitem__
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_list_object.py", line 711 in __setitem__
File "/Users/aayres/Desktop/enable/enable/scrolled.py", line 484 in _handle_vertical_scroll
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_notifiers.py", line 484 in dispatch
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_notifiers.py", line 522 in _dispatch_change_event
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_notifiers.py", line 550 in _notify_method_listener
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_notifiers.py", line 476 in __call__
File "/Users/aayres/Desktop/enable/enable/qt4/scrollbar.py", line 243 in _range_changed
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_notifiers.py", line 340 in __call__
File "/Users/aayres/Desktop/enable/enable/scrolled.py", line 213 in update_from_viewport
File "/Users/aayres/Desktop/enable/enable/scrolled.py", line 248 in _view_position_changed_for_viewport_component
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_notifiers.py", line 484 in dispatch
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_notifiers.py", line 522 in _dispatch_change_event
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_notifiers.py", line 550 in _notify_method_listener
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_notifiers.py", line 476 in __call__
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/has_traits.py", line 1368 in trait_set
File "/Users/aayres/Desktop/enable/enable/viewport.py", line 402 in _adjust_view_from_component_resize
File "/Users/aayres/Desktop/enable/enable/viewport.py", line 307 in _component_bounds_updated
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_notifiers.py", line 484 in dispatch
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_notifiers.py", line 522 in _dispatch_change_event
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_notifiers.py", line 550 in _notify_method_listener
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_notifiers.py", line 476 in __call__
File "/Users/aayres/Desktop/enable/enable/canvas.py", line 177 in _view_bounds_changed
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_notifiers.py", line 340 in __call__
File "/Users/aayres/Desktop/enable/enable/viewport.py", line 283 in _update_component_view_bounds
File "/Users/aayres/Desktop/enable/enable/viewport.py", line 323 in _handle_view_box_changed
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_notifiers.py", line 484 in dispatch
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_notifiers.py", line 522 in _dispatch_change_event
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_notifiers.py", line 550 in _notify_method_listener
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_notifiers.py", line 476 in __call__
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/has_traits.py", line 1368 in trait_set
File "/Users/aayres/Desktop/enable/enable/viewport.py", line 402 in _adjust_view_from_component_resize
File "/Users/aayres/Desktop/enable/enable/viewport.py", line 307 in _component_bounds_updated
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_notifiers.py", line 484 in dispatch
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_notifiers.py", line 522 in _dispatch_change_event
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_notifiers.py", line 550 in _notify_method_listener
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_notifiers.py", line 476 in __call__
File "/Users/aayres/Desktop/enable/enable/canvas.py", line 177 in _view_bounds_changed
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_notifiers.py", line 340 in __call__
File "/Users/aayres/Desktop/enable/enable/viewport.py", line 283 in _update_component_view_bounds
File "/Users/aayres/Desktop/enable/enable/viewport.py", line 323 in _handle_view_box_changed
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_notifiers.py", line 484 in dispatch
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_notifiers.py", line 522 in _dispatch_change_event
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_notifiers.py", line 550 in _notify_method_listener
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_notifiers.py", line 476 in __call__
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/has_traits.py", line 1368 in trait_set
File "/Users/aayres/Desktop/enable/enable/viewport.py", line 402 in _adjust_view_from_component_resize
File "/Users/aayres/Desktop/enable/enable/viewport.py", line 307 in _component_bounds_updated
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_notifiers.py", line 484 in dispatch
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_notifiers.py", line 522 in _dispatch_change_event
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_notifiers.py", line 550 in _notify_method_listener
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_notifiers.py", line 476 in __call__
File "/Users/aayres/Desktop/enable/enable/canvas.py", line 177 in _view_bounds_changed
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_notifiers.py", line 340 in __call__
File "/Users/aayres/Desktop/enable/enable/viewport.py", line 283 in _update_component_view_bounds
File "/Users/aayres/Desktop/enable/enable/viewport.py", line 323 in _handle_view_box_changed
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_notifiers.py", line 484 in dispatch
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_notifiers.py", line 522 in _dispatch_change_event
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_notifiers.py", line 550 in _notify_method_listener
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_notifiers.py", line 476 in __call__
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/has_traits.py", line 1368 in trait_set
File "/Users/aayres/Desktop/enable/enable/viewport.py", line 402 in _adjust_view_from_component_resize
File "/Users/aayres/Desktop/enable/enable/viewport.py", line 307 in _component_bounds_updated
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_notifiers.py", line 484 in dispatch
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_notifiers.py", line 522 in _dispatch_change_event
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_notifiers.py", line 550 in _notify_method_listener
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_notifiers.py", line 476 in __call__
File "/Users/aayres/Desktop/enable/enable/canvas.py", line 177 in _view_bounds_changed
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_notifiers.py", line 340 in __call__
File "/Users/aayres/Desktop/enable/enable/viewport.py", line 283 in _update_component_view_bounds
File "/Users/aayres/Desktop/enable/enable/viewport.py", line 323 in _handle_view_box_changed
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_notifiers.py", line 484 in dispatch
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_notifiers.py", line 522 in _dispatch_change_event
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_notifiers.py", line 550 in _notify_method_listener
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_notifiers.py", line 476 in __call__
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/has_traits.py", line 1368 in trait_set
File "/Users/aayres/Desktop/enable/enable/viewport.py", line 402 in _adjust_view_from_component_resize
File "/Users/aayres/Desktop/enable/enable/viewport.py", line 307 in _component_bounds_updated
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_notifiers.py", line 484 in dispatch
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_notifiers.py", line 522 in _dispatch_change_event
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_notifiers.py", line 550 in _notify_method_listener
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_notifiers.py", line 476 in __call__
File "/Users/aayres/Desktop/enable/enable/canvas.py", line 177 in _view_bounds_changed
File "/Users/aayres/.edm/envs/enable-test-3.6-null-pillow/lib/python3.6/site-packages/traits/trait_notifiers.py", line 340 in __call__
File "/Users/aayres/Desktop/enable/enable/viewport.py", line 283 in _update_component_view_bounds
...
Abort trap: 6
```
Contributor guide
Assessment
This issue has not been assessed yet.