Merge pull request #7579 from Morph1984/swkbd-oob-array-access
qt_software_keyboard: Fix out of bounds array access
This commit is contained in:
commit
f0ed11e318
1 changed files with 19 additions and 4 deletions
|
@ -475,11 +475,26 @@ void QtSoftwareKeyboardDialog::open() {
|
|||
row = 0;
|
||||
column = 0;
|
||||
|
||||
const auto* const curr_button =
|
||||
keyboard_buttons[static_cast<int>(bottom_osk_index)][row][column];
|
||||
switch (bottom_osk_index) {
|
||||
case BottomOSKIndex::LowerCase:
|
||||
case BottomOSKIndex::UpperCase: {
|
||||
const auto* const curr_button =
|
||||
keyboard_buttons[static_cast<std::size_t>(bottom_osk_index)][row][column];
|
||||
|
||||
// This is a workaround for setFocus() randomly not showing focus in the UI
|
||||
QCursor::setPos(curr_button->mapToGlobal(curr_button->rect().center()));
|
||||
// This is a workaround for setFocus() randomly not showing focus in the UI
|
||||
QCursor::setPos(curr_button->mapToGlobal(curr_button->rect().center()));
|
||||
break;
|
||||
}
|
||||
case BottomOSKIndex::NumberPad: {
|
||||
const auto* const curr_button = numberpad_buttons[row][column];
|
||||
|
||||
// This is a workaround for setFocus() randomly not showing focus in the UI
|
||||
QCursor::setPos(curr_button->mapToGlobal(curr_button->rect().center()));
|
||||
break;
|
||||
}
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
StartInputThread();
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue