QCocoaA(11)y: do not try to access an element if rowIndex == -1

This ends up in out of bounds exception.

Fixes: QTBUG-120469
Fixes: QTBUG-121008
Change-Id: Id895f311bbb59a3734ecadd0d2472a4018332e16
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
(cherry picked from commit 75a918d487aabacd2d377e1e79baea7d30deb5ac)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 1e0a6b31603fdb95232e8210512c9ad92ef372af)
(cherry picked from commit b97d45c99dc2140c248c9b59727574cd21b7b81f)
Reviewed-by: Timur Pocheptsov <timur.pocheptsov@qt.io>
This commit is contained in:
Timur Pocheptsov 2024-01-15 15:15:12 +01:00 committed by Qt Cherry-pick Bot
parent 6914f7ce3b
commit aacf2ec03c

View File

@ -537,7 +537,7 @@ static void convertLineOffset(QAccessibleTextInterface *text, int *line, int *of
else if (QAccessibleTableCellInterface *cell = iface->tableCellInterface())
rowIndex = cell->rowIndex();
Q_ASSERT(tableElement->rows);
if (rowIndex > int([tableElement->rows count]))
if (rowIndex > int([tableElement->rows count]) || rowIndex == -1)
return nil;
QMacAccessibilityElement *rowElement = tableElement->rows[rowIndex];
return NSAccessibilityUnignoredAncestor(rowElement);