mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-22 13:49:53 -06:00
Merge pull request #8456 from jordan-woyak/input-gate-race-fix
InputCommon: Make the "input gate" not racy.
This commit is contained in:
@ -27,7 +27,6 @@
|
||||
|
||||
#include "DolphinQt/Config/Mapping/MappingWidget.h"
|
||||
#include "DolphinQt/QtUtils/ModalMessageBox.h"
|
||||
#include "DolphinQt/Settings.h"
|
||||
|
||||
namespace
|
||||
{
|
||||
@ -589,9 +588,6 @@ void MappingIndicator::DrawForce(ControllerEmu::Force& force)
|
||||
|
||||
void MappingIndicator::paintEvent(QPaintEvent*)
|
||||
{
|
||||
// TODO: The SetControllerStateNeeded interface leaks input into the game.
|
||||
Settings::Instance().SetControllerStateNeeded(true);
|
||||
|
||||
switch (m_group->type)
|
||||
{
|
||||
case ControllerEmu::GroupType::Cursor:
|
||||
@ -610,8 +606,6 @@ void MappingIndicator::paintEvent(QPaintEvent*)
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
Settings::Instance().SetControllerStateNeeded(false);
|
||||
}
|
||||
|
||||
ShakeMappingIndicator::ShakeMappingIndicator(ControllerEmu::Shake* group)
|
||||
@ -621,9 +615,7 @@ ShakeMappingIndicator::ShakeMappingIndicator(ControllerEmu::Shake* group)
|
||||
|
||||
void ShakeMappingIndicator::paintEvent(QPaintEvent*)
|
||||
{
|
||||
Settings::Instance().SetControllerStateNeeded(true);
|
||||
DrawShake();
|
||||
Settings::Instance().SetControllerStateNeeded(false);
|
||||
}
|
||||
|
||||
void ShakeMappingIndicator::DrawShake()
|
||||
|
@ -13,7 +13,6 @@
|
||||
#include "DolphinQt/Config/Mapping/MappingIndicator.h"
|
||||
#include "DolphinQt/Config/Mapping/MappingNumeric.h"
|
||||
#include "DolphinQt/Config/Mapping/MappingWindow.h"
|
||||
#include "DolphinQt/Settings.h"
|
||||
|
||||
#include "InputCommon/ControlReference/ControlReference.h"
|
||||
#include "InputCommon/ControllerEmu/Control/Control.h"
|
||||
@ -30,11 +29,8 @@ MappingWidget::MappingWidget(MappingWindow* parent) : m_parent(parent)
|
||||
|
||||
const auto timer = new QTimer(this);
|
||||
connect(timer, &QTimer::timeout, this, [this] {
|
||||
// TODO: The SetControllerStateNeeded interface leaks input into the game.
|
||||
const auto lock = m_parent->GetController()->GetStateLock();
|
||||
Settings::Instance().SetControllerStateNeeded(true);
|
||||
emit Update();
|
||||
Settings::Instance().SetControllerStateNeeded(false);
|
||||
});
|
||||
|
||||
timer->start(1000 / INDICATOR_UPDATE_FREQ);
|
||||
|
Reference in New Issue
Block a user