Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FIX] tableview: Remove toggle selection on corner widget click #6802

Merged
merged 1 commit into from
May 17, 2024

Conversation

ales-erjavec
Copy link
Contributor

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
  • Code changes
  • Tests
  • Documentation

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.
@lanzagar lanzagar merged commit ccc6cc3 into biolab:master May 17, 2024
6 of 28 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants