diff --git a/Source/Core/Core/HW/MMIO.cpp b/Source/Core/Core/HW/MMIO.cpp index 667165b8b7..39ae3187c3 100644 --- a/Source/Core/Core/HW/MMIO.cpp +++ b/Source/Core/Core/HW/MMIO.cpp @@ -230,8 +230,9 @@ ReadHandlingMethod* ReadToSmaller(Mapping* mmio, u32 high_part_addr, u32 low_ mmio->GetHandlerForRead(low_part_addr, &low_part); // TODO(delroth): optimize - return ComplexRead([high_part, low_part](u32 addr) { - return ((T)high_part->Read(addr) << (8 * sizeof (ST))) | low_part->Read(addr); + return ComplexRead([=](u32 addr) { + return ((T)high_part->Read(high_part_addr) << (8 * sizeof (ST))) + | low_part->Read(low_part_addr); }); } @@ -246,9 +247,9 @@ WriteHandlingMethod* WriteToSmaller(Mapping* mmio, u32 high_part_addr, u32 lo mmio->GetHandlerForWrite(low_part_addr, &low_part); // TODO(delroth): optimize - return ComplexWrite([high_part, low_part](u32 addr, T val) { - high_part->Write(addr, val >> (8 * sizeof (ST))); - low_part->Write(addr, (ST)val); + return ComplexWrite([=](u32 addr, T val) { + high_part->Write(high_part_addr, val >> (8 * sizeof (ST))); + low_part->Write(low_part_addr, (ST)val); }); }