diff --git a/src/citra_qt/CMakeLists.txt b/src/citra_qt/CMakeLists.txt index 502531fca..edd2a3eb2 100644 --- a/src/citra_qt/CMakeLists.txt +++ b/src/citra_qt/CMakeLists.txt @@ -228,6 +228,15 @@ target_compile_definitions(citra-qt PRIVATE # Use QStringBuilder for string concatenation to reduce # the overall number of temporary strings created. -DQT_USE_QSTRINGBUILDER + + # Disable implicit type narrowing in signal/slot connect() calls. + -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT + + # Disable unsafe overloads of QProcess' start() function. + -DQT_NO_PROCESS_COMBINED_ARGUMENT_START + + # Disable implicit QString->QUrl conversions to enforce use of proper resolving functions. + -DQT_NO_URL_CAST_FROM_STRING ) if (CITRA_ENABLE_COMPATIBILITY_REPORTING) diff --git a/src/citra_qt/configuration/configure_graphics.cpp b/src/citra_qt/configuration/configure_graphics.cpp index 2b895ecc0..f509377e6 100644 --- a/src/citra_qt/configuration/configure_graphics.cpp +++ b/src/citra_qt/configuration/configure_graphics.cpp @@ -21,11 +21,10 @@ ConfigureGraphics::ConfigureGraphics(QWidget* parent) ui->layoutBox->setEnabled(!Settings::values.custom_layout); ui->hw_renderer_group->setEnabled(ui->toggle_hw_renderer->isChecked()); - connect(ui->toggle_hw_renderer, &QCheckBox::stateChanged, ui->hw_renderer_group, + connect(ui->toggle_hw_renderer, &QCheckBox::toggled, ui->hw_renderer_group, &QWidget::setEnabled); ui->hw_shader_group->setEnabled(ui->toggle_hw_shader->isChecked()); - connect(ui->toggle_hw_shader, &QCheckBox::stateChanged, ui->hw_shader_group, - &QWidget::setEnabled); + connect(ui->toggle_hw_shader, &QCheckBox::toggled, ui->hw_shader_group, &QWidget::setEnabled); #ifdef __APPLE__ connect(ui->toggle_hw_shader, &QCheckBox::stateChanged, this, [this](int state) { if (state == Qt::Checked) { diff --git a/src/citra_qt/multiplayer/chat_room.cpp b/src/citra_qt/multiplayer/chat_room.cpp index e16b86217..1699ed8ef 100644 --- a/src/citra_qt/multiplayer/chat_room.cpp +++ b/src/citra_qt/multiplayer/chat_room.cpp @@ -425,7 +425,7 @@ void ChatRoom::PopupContextMenu(const QPoint& menu_location) { QAction* view_profile_action = context_menu.addAction(tr("View Profile")); connect(view_profile_action, &QAction::triggered, [username] { QDesktopServices::openUrl( - QString("https://community.citra-emu.org/u/%1").arg(username)); + QUrl(QString("https://community.citra-emu.org/u/%1").arg(username))); }); } diff --git a/src/citra_qt/multiplayer/lobby.cpp b/src/citra_qt/multiplayer/lobby.cpp index c06738565..cd38c5a22 100644 --- a/src/citra_qt/multiplayer/lobby.cpp +++ b/src/citra_qt/multiplayer/lobby.cpp @@ -64,9 +64,8 @@ Lobby::Lobby(QWidget* parent, QStandardItemModel* list, // UI Buttons connect(ui->refresh_list, &QPushButton::pressed, this, &Lobby::RefreshLobby); - connect(ui->games_owned, &QCheckBox::stateChanged, proxy, - &LobbyFilterProxyModel::SetFilterOwned); - connect(ui->hide_full, &QCheckBox::stateChanged, proxy, &LobbyFilterProxyModel::SetFilterFull); + connect(ui->games_owned, &QCheckBox::toggled, proxy, &LobbyFilterProxyModel::SetFilterOwned); + connect(ui->hide_full, &QCheckBox::toggled, proxy, &LobbyFilterProxyModel::SetFilterFull); connect(ui->search, &QLineEdit::textChanged, proxy, &LobbyFilterProxyModel::SetFilterSearch); connect(ui->room_list, &QTreeView::doubleClicked, this, &Lobby::OnJoinRoom); connect(ui->room_list, &QTreeView::clicked, this, &Lobby::OnExpandRoom);