summaryrefslogtreecommitdiff
path: root/Source/Core
diff options
context:
space:
mode:
authorPierre Bourdon <delroth@gmail.com>2012-11-13 16:50:42 +0100
committerPierre Bourdon <delroth@gmail.com>2012-11-13 16:50:42 +0100
commite4d18e3a8b7cd37cb90f277548ab45caa0efba81 (patch)
treebccbe6a65609f76f573e0b0e4e1616c23adc0fe9 /Source/Core
parent764cd455b35d8b1dc9328a8cc12846b1967fc3b9 (diff)
Bound the iteration on the PB list when processing updates.
Fixes freezes introduced in 3.0-807 with DSPHLE on some AX games. Apparently logic doesn't apply inside the HW/DSPHLE/UCodes directory.
Diffstat (limited to 'Source/Core')
-rw-r--r--Source/Core/Core/Src/HW/DSPHLE/UCodes/UCode_AX.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/Source/Core/Core/Src/HW/DSPHLE/UCodes/UCode_AX.cpp b/Source/Core/Core/Src/HW/DSPHLE/UCodes/UCode_AX.cpp
index c63929fe8f..74c9d24db4 100644
--- a/Source/Core/Core/Src/HW/DSPHLE/UCodes/UCode_AX.cpp
+++ b/Source/Core/Core/Src/HW/DSPHLE/UCodes/UCode_AX.cpp
@@ -342,7 +342,7 @@ bool CUCode_AX::AXTask(u32& _uMail)
// Fixing this would require rewriting most of the AX HLE.
u32 block_addr = uAddress;
AXPB pb;
- while (block_addr)
+ for (int i = 0; block_addr && i < NUMBER_OF_PBS; i++)
{
if (!ReadPB(block_addr, pb))
break;