From 42f5ec9f3631897051eca60b3927a42e65bdf7cb Mon Sep 17 00:00:00 2001 From: jacob1 Date: Thu, 22 May 2014 11:19:56 -0400 Subject: [PATCH] Fix crash with spark flood fill --- src/simulation/Simulation.cpp | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/simulation/Simulation.cpp b/src/simulation/Simulation.cpp index 5fefc0304..4be1842ee 100644 --- a/src/simulation/Simulation.cpp +++ b/src/simulation/Simulation.cpp @@ -1447,21 +1447,23 @@ int Simulation::FloodParts(int x, int y, int fullc, int cm, int flags) if (cm==-1) { //if initial flood point is out of bounds, do nothing - if (c != 0 && (x < CELL || x >= XRES-CELL || y < CELL || y >= YRES-CELL)) + if (c != 0 && (x < CELL || x >= XRES-CELL || y < CELL || y >= YRES-CELL || c == PT_SPRK)) return 1; else if (x < 0 || x >= XRES || y < 0 || y >= YRES) return 1; - if (c==0) + if (c == 0) { cm = pmap[y][x]&0xFF; - if (!cm) - cm = photons[y][x]&0xFF; if (!cm) { - if (bmap[y/CELL][x/CELL]) - return FloodWalls(x, y, WL_ERASE, -1); - else - return -1; + cm = photons[y][x]&0xFF; + if (!cm) + { + if (bmap[y/CELL][x/CELL]) + return FloodWalls(x, y, WL_ERASE, -1); + else + return -1; + } } } else