Merge pull request #9322 from jordan-woyak/fix-real-wm-delay

HW/WiimoteReal: Drop stale data reports.
This commit is contained in:
LC 2020-12-12 16:08:50 -05:00 committed by GitHub
commit d312495934
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 9 additions and 4 deletions

View File

@ -411,11 +411,16 @@ bool Wiimote::GetNextReport(Report* report)
// Returns the next report that should be sent // Returns the next report that should be sent
Report& Wiimote::ProcessReadQueue(bool repeat_last_data_report) Report& Wiimote::ProcessReadQueue(bool repeat_last_data_report)
{ {
if (!GetNextReport(&m_last_input_report) && // If we're not repeating data reports or had a non-data report, any old report is irrelevant.
!(IsDataReport(m_last_input_report) && repeat_last_data_report)) if (!repeat_last_data_report || !IsDataReport(m_last_input_report))
{
// If we didn't get a new report and it's not a data report to repeat, it's irrelevant.
m_last_input_report.clear(); m_last_input_report.clear();
// Step through the read queue.
while (GetNextReport(&m_last_input_report))
{
// Stop on a non-data report.
if (!IsDataReport(m_last_input_report))
break;
} }
return m_last_input_report; return m_last_input_report;