orange3
orange3 copied to clipboard
[FIX] tableview: Remove toggle selection on corner widget click
Issue
With Qt 6.7.0
Traceback (most recent call last):
File "/Users/aleserjavec/workspace/orange-canvas/orangecanvas/scheme/widgetmanager.py", line 404, in __process_init_queue
self.ensure_created(node)
File "/Users/aleserjavec/workspace/orange-canvas/orangecanvas/scheme/widgetmanager.py", line 350, in ensure_created
self.__add_widget_for_node(node)
File "/Users/aleserjavec/workspace/orange-canvas/orangecanvas/scheme/widgetmanager.py", line 243, in __add_widget_for_node
w = self.create_widget_for_node(node)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/aleserjavec/virtual/py312/lib/python3.12/site-packages/orangewidget/workflow/widgetsscheme.py", line 300, in create_widget_for_node
widget = self.create_widget_instance(node)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/aleserjavec/virtual/py312/lib/python3.12/site-packages/orangewidget/workflow/widgetsscheme.py", line 413, in create_widget_instance
widget.__init__()
File "/Users/aleserjavec/workspace/orange3/Orange/widgets/data/owtable.py", line 255, in __init__
view = DataTableView(sortingEnabled=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/aleserjavec/workspace/orange3/Orange/widgets/data/owtable.py", line 90, in __init__
super().__init__(*args, **kwargs)
File "/Users/aleserjavec/workspace/orange3/Orange/widgets/gui.py", line 669, in __init__
super().__init__(*args, **kwargs)
File "/Users/aleserjavec/workspace/orange3/Orange/widgets/data/utils/tableview.py", line 127, in __init__
super().__init__(*args, **kwargs)
File "/Users/aleserjavec/workspace/orange3/Orange/widgets/data/utils/tableview.py", line 65, in __init__
btn.clicked.disconnect(self.selectAll)
TypeError: disconnect() failed between 'clicked' and 'selectAll'
-------------------------------------------------------------------------------
On Qt 6.7.0 a wrong signal is connected meaning we get an exception trying to disconnect the selectAll slot (QTBUG-124267). Still even that fixed the implementation has changed such that it is using explicit disconnect in the widget's destructor (using explicit stored established QObject::Connection) so it will fail there.
Out of abundance of caution simply remove the behavior override.
Description of changes
- Remove toggle selection on corner widget click
Includes
- [X] Code changes
- [ ] Tests
- [ ] Documentation