From 47464741277533ba6669ba96b716d77e9ec90441 Mon Sep 17 00:00:00 2001 From: jacob1 Date: Mon, 29 Jul 2013 00:34:43 -0400 Subject: [PATCH] fix occasional crash when flood fill deleting --- src/simulation/Simulation.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/simulation/Simulation.cpp b/src/simulation/Simulation.cpp index 53244e0be..c1cf22e44 100644 --- a/src/simulation/Simulation.cpp +++ b/src/simulation/Simulation.cpp @@ -1419,7 +1419,7 @@ int Simulation::FloodParts(int x, int y, int fullc, int cm, int flags) unsigned short (*coord_stack)[2]; int coord_stack_size = 0; int created_something = 0; - + if (cm==-1) { //if initial flood point is out of bounds, do nothing @@ -1432,8 +1432,13 @@ int Simulation::FloodParts(int x, int y, int fullc, int cm, int flags) cm = pmap[y][x]&0xFF; if (!cm) cm = photons[y][x]&0xFF; - if (!cm && bmap[y/CELL][x/CELL]) - FloodWalls(x, y, WL_ERASE, -1); + if (!cm) + { + if (bmap[y/CELL][x/CELL]) + return FloodWalls(x, y, WL_ERASE, -1); + else + return -1; + } } else cm = 0;