diff options
Diffstat (limited to 'engines/sludge/floor.cpp')
-rw-r--r-- | engines/sludge/floor.cpp | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/engines/sludge/floor.cpp b/engines/sludge/floor.cpp index dff6980c7c..45a7501470 100644 --- a/engines/sludge/floor.cpp +++ b/engines/sludge/floor.cpp @@ -105,16 +105,18 @@ bool initFloor() { } void killFloor() { - for (int i = 0; i < currentFloor->numPolygons; i++) { - delete []currentFloor->polygon[i].vertexID; - delete []currentFloor->matrix[i]; + if (currentFloor) { + for (int i = 0; i < currentFloor->numPolygons; i++) { + delete []currentFloor->polygon[i].vertexID; + delete []currentFloor->matrix[i]; + } + delete []currentFloor->polygon; + currentFloor->polygon = NULL; + delete []currentFloor->vertex; + currentFloor->vertex = NULL; + delete []currentFloor->matrix; + currentFloor->matrix = NULL; } - delete []currentFloor->polygon; - currentFloor->polygon = NULL; - delete []currentFloor->vertex; - currentFloor->vertex = NULL; - delete []currentFloor->matrix; - currentFloor->matrix = NULL; } void setFloorNull() { |