Fixed Memory Leak in Collision Callback
This commit is contained in:
@@ -1115,6 +1115,7 @@ int rc_canvasOpen(int w, int h, int vx, int vy, int vw, int vh, int mode, int ca
|
||||
|
||||
void rc_canvasClose(int canvas_id)
|
||||
{
|
||||
//std::cout << "Delete Canvas: " << canvas_id << std::endl;
|
||||
if(canvas_id <= 0 || canvas_id >= rc_canvas.size()) //canvas 0 is being excluded because its the back buffer
|
||||
return;
|
||||
|
||||
@@ -1142,8 +1143,11 @@ void rc_canvasClose(int canvas_id)
|
||||
for(int i = 0; i < rc_canvas[canvas_id].sprite_id.size(); i++)
|
||||
{
|
||||
int spr_id = rc_canvas[canvas_id].sprite_id[i];
|
||||
rc_sprite[spr_id].active = false;
|
||||
rc_sprite[spr_id].physics.body = NULL;
|
||||
if(spr_id >= 0 && spr_id < rc_sprite.size())
|
||||
{
|
||||
rc_sprite[spr_id].active = false;
|
||||
rc_sprite[spr_id].physics.body = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
rc_canvas[canvas_id].sprite_id.clear();
|
||||
|
||||
Reference in New Issue
Block a user