enthought / enthought/traitsui
TreeEditor throws errors if an entity has __eq__ defined
- Dominant language
- Python
- Stars
- 306
- Forks
- 99
- PR merge metrics
- No merged PRs in 30d
Description
When using the TreeEditor, if one of the nodes is for an entity with __eq__ defined, it throws the following error:
```
Traceback (most recent call last):
File "/Users/cangell/.edm/envs/ak-dtx-dev/lib/python3.6/site-packages/pyface/ui/qt4/gui.py", line 177, in event
self._callable(*self._args, **self._kw)
File "/Users/cangell/.edm/envs/ak-dtx-dev/lib/python3.6/site-packages/pyface/i_window.py", line 232, in close
self.destroy()
File "/Users/cangell/.edm/envs/ak-dtx-dev/lib/python3.6/site-packages/pyface/tasks/task_window.py", line 81, in destroy
self._destroy_state(state)
File "/Users/cangell/.edm/envs/ak-dtx-dev/lib/python3.6/site-packages/pyface/tasks/task_window.py", line 351, in _destroy_state
state.central_pane.destroy()
File "/Users/cangell/.edm/envs/ak-dtx-dev/lib/python3.6/site-packages/canopy_data/ui/tool_area.py", line 75, in destroy
super(ToolArea, self).destroy()
File "/Users/cangell/.edm/envs/ak-dtx-dev/lib/python3.6/site-packages/pyface/ui/qt4/tasks/split_editor_area_pane.py", line 104, in destroy
self.remove_editor(editor)
File "/Users/cangell/.edm/envs/ak-dtx-dev/lib/python3.6/site-packages/pyface/ui/qt4/tasks/split_editor_area_pane.py", line 150, in remove_editor
editor.destroy()
File "/Users/cangell/.edm/envs/ak-dtx-dev/lib/python3.6/site-packages/canopy_data/ui/model_view_tool.py", line 87, in destroy
self.destroy_model_view()
File "/Users/cangell/.edm/envs/ak-dtx-dev/lib/python3.6/site-packages/canopy_data/ui/model_view_tool.py", line 67, in destroy_model_view
self.model_view_ui.dispose()
File "/Users/cangell/.edm/envs/ak-dtx-dev/lib/python3.6/site-packages/traitsui/ui.py", line 263, in dispose
self.finish()
File "/Users/cangell/.edm/envs/ak-dtx-dev/lib/python3.6/site-packages/traitsui/ui.py", line 290, in finish
self.reset(destroy=False)
File "/Users/cangell/.edm/envs/ak-dtx-dev/lib/python3.6/site-packages/traitsui/ui.py", line 332, in reset
editor.dispose()
File "/Users/cangell/.edm/envs/ak-dtx-dev/lib/python3.6/site-packages/traitsui/qt4/instance_editor.py", line 386, in dispose
self._ui.dispose()
File "/Users/cangell/.edm/envs/ak-dtx-dev/lib/python3.6/site-packages/traitsui/ui.py", line 263, in dispose
self.finish()
File "/Users/cangell/.edm/envs/ak-dtx-dev/lib/python3.6/site-packages/traitsui/ui.py", line 290, in finish
self.reset(destroy=False)
File "/Users/cangell/.edm/envs/ak-dtx-dev/lib/python3.6/site-packages/traitsui/ui.py", line 332, in reset
editor.dispose()
File "/Users/cangell/.edm/envs/ak-dtx-dev/lib/python3.6/site-packages/traitsui/qt4/tree_editor.py", line 260, in dispose
self._delete_node(self._tree.invisibleRootItem())
File "/Users/cangell/.edm/envs/ak-dtx-dev/lib/python3.6/site-packages/traitsui/qt4/tree_editor.py", line 457, in _delete_node
self._delete_node(cnid)
File "/Users/cangell/.edm/envs/ak-dtx-dev/lib/python3.6/site-packages/traitsui/qt4/tree_editor.py", line 457, in _delete_node
self._delete_node(cnid)
File "/Users/cangell/.edm/envs/ak-dtx-dev/lib/python3.6/site-packages/traitsui/qt4/tree_editor.py", line 457, in _delete_node
self._delete_node(cnid)
File "/Users/cangell/.edm/envs/ak-dtx-dev/lib/python3.6/site-packages/traitsui/qt4/tree_editor.py", line 481, in _delete_node
self._remove_listeners(node, object)
File "/Users/cangell/.edm/envs/ak-dtx-dev/lib/python3.6/site-packages/traitsui/qt4/tree_editor.py", line 650, in _remove_listeners
node.when_label_changed(object, self._label_updated, True)
File "/Users/cangell/.edm/envs/ak-dtx-dev/lib/python3.6/site-packages/traitsui/tree_node.py", line 351, in when_label_changed
wrapped_listener = self._listener_cache.pop(memo, None)
File "/Users/cangell/.edm/envs/ak-dtx-dev/lib/python3.6/site-packages/traits/trait_handlers.py", line 3419, in pop
if (value is Undefined) or key in self:
TypeError: unhashable type: 'FactKind'
```
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.