diff --git a/rpcs3/rpcs3qt/wiimote_settings_dialog.cpp b/rpcs3/rpcs3qt/wiimote_settings_dialog.cpp index 9f6d1a06d6..f354fc0150 100644 --- a/rpcs3/rpcs3qt/wiimote_settings_dialog.cpp +++ b/rpcs3/rpcs3qt/wiimote_settings_dialog.cpp @@ -286,13 +286,13 @@ void wiimote_settings_dialog::update_list() } else { - // Just update connection status labels without clearing - for (usz i = 0; i < states.size(); i++) + for (usz i = 0; i < std::min(static_cast(ui->wiimoteList->count()), states.size()); i++) { + QListWidgetItem* item = ui->wiimoteList->item(static_cast(i)); + if (!item) continue; QString label = tr("Wiimote #%1").arg(i + 1); if (!states[i].connected) label += " (" + tr("Disconnected") + ")"; - - if (QListWidgetItem* item = ui->wiimoteList->item(static_cast(i)); item && item->text() != label) + if (item->text() != label) { item->setText(label); }