# HG changeset patch # User nemo # Date 1269371203 0 # Node ID 55a7e3a896ef77571c301efbda6d4cba4f115baf # Parent 1d60306f6b34b7d5a07f34a7328f081d4b4452ec Free land object SDL surfaces. diff -r 1d60306f6b34 -r 55a7e3a896ef hedgewars/hwengine.pas --- a/hedgewars/hwengine.pas Tue Mar 23 16:53:45 2010 +0000 +++ b/hedgewars/hwengine.pas Tue Mar 23 19:06:43 2010 +0000 @@ -154,7 +154,8 @@ if isSoundEnabled then ReleaseSound(); StoreRelease(); FreeGearsList(); - FreeVisualGears; + FreeVisualGears(); + FreeLandObjects(); FreeLand(); ControllerClose(); SendKB(); diff -r 1d60306f6b34 -r 55a7e3a896ef hedgewars/uLandObjects.pas --- a/hedgewars/uLandObjects.pas Tue Mar 23 16:53:45 2010 +0000 +++ b/hedgewars/uLandObjects.pas Tue Mar 23 19:06:43 2010 +0000 @@ -23,6 +23,7 @@ uses SDLh; procedure AddObjects(); +procedure FreeLandObjects(); procedure LoadThemeConfig; procedure BlitImageAndGenerateCollisionInfo(cpX, cpY, Width: Longword; Image: PSDL_Surface); procedure AddOnLandObjects(Surface: PSDL_Surface); @@ -526,4 +527,15 @@ ReadThemeInfo(ThemeObjects, SprayObjects) end; +procedure FreeLandObjects(); +var i: Longword; +begin +for i:= 0 to Pred(ThemeObjects.Count) do + with ThemeObjects.objs[i] do + if Surf <> nil then SDL_FreeSurface(Surf); +for i:= 0 to Pred(SprayObjects.Count) do + with SprayObjects.objs[i] do + if Surf <> nil then SDL_FreeSurface(Surf); +end; + end.