Skip to content

Commit 58bee03

Browse files
authored
tableview: Fix index error when displaying dataset with zero columns (#6779)
1 parent 38bedb1 commit 58bee03

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

Orange/widgets/data/utils/tableview.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,8 @@ def __headerDataChanged(
168168
model = self.model()
169169
model = source_model(model)
170170
if isinstance(model, RichTableModel) and \
171-
model.richHeaderFlags() & RichTableModel.Labels:
171+
model.richHeaderFlags() & RichTableModel.Labels and \
172+
model.columnCount() > 0:
172173
items = model.headerData(
173174
0, Qt.Horizontal, RichTableModel.LabelsItemsRole
174175
)

Orange/widgets/data/utils/tests/test_tableview.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,19 @@ def test_tableview(self):
3131
model.setRichHeaderFlags(RichTableModel.Name)
3232
self.assertEqual(view.cornerText(), "")
3333

34+
def test_tableview_empty_model(self):
35+
data = Orange.data.Table.from_list(
36+
Orange.data.Domain([], None),
37+
[],
38+
)
39+
view = RichTableView()
40+
model = RichTableModel(data)
41+
view.setModel(model)
42+
self.assertIsInstance(view.selectionModel(), BlockSelectionModel)
43+
model.setRichHeaderFlags(RichTableModel.Name | RichTableModel.Labels |
44+
RichTableModel.Icon)
45+
view.grab()
46+
3447
def test_tableview_toggle_select_all(self):
3548
view = RichTableView()
3649
model = RichTableModel(self.data)

0 commit comments

Comments
 (0)