fix problems found with valgrind with shifting stamps and saving

This commit is contained in:
jacob1 2013-02-24 14:12:48 -05:00
parent f138e10917
commit 0939494747
4 changed files with 21 additions and 13 deletions

View File

@ -877,7 +877,7 @@ RequestStatus Client::UploadSave(SaveInfo & save)
{
if(strncmp((const char *)data, "OK", 2)!=0)
{
if(gameData) free(gameData);
if(gameData) delete[] gameData;
lastError = std::string((const char *)data);
free(data);
return RequestFailure;
@ -898,14 +898,14 @@ RequestStatus Client::UploadSave(SaveInfo & save)
}
}
free(data);
if(gameData) free(gameData);
if(gameData) delete[] gameData;
return RequestOkay;
}
else if(data)
{
free(data);
}
if(gameData) free(gameData);
if(gameData) delete[] gameData;
return RequestFailure;
}

View File

@ -366,7 +366,7 @@ void GameSave::Transform(matrix2d transform, vector2d translate)
signs[i].x = nx;
signs[i].y = ny;
}
for (i=0; i<NPART; i++)
for (i=0; i<particlesCount; i++)
{
if (!particles[i].type) continue;
pos = v2d_new(particles[i].x, particles[i].y);
@ -410,13 +410,13 @@ void GameSave::Transform(matrix2d transform, vector2d translate)
blockWidth = newBlockWidth;
blockHeight = newBlockHeight;
delete blockMap;
delete fanVelX;
delete fanVelY;
delete[] blockMap;
delete[] fanVelX;
delete[] fanVelY;
delete blockMapPtr;
delete fanVelXPtr;
delete fanVelYPtr;
delete[] blockMapPtr;
delete[] fanVelXPtr;
delete[] fanVelYPtr;
blockMap = blockMapNew;
fanVelX = fanVelXNew;

View File

@ -69,12 +69,12 @@ void Thumbnail::Resize(ui::Point newSize)
Data = Graphics::resample_img(thumbData, Size.X, Size.Y, Size.X * scaleFactor, Size.Y * scaleFactor);
Size.X *= scaleFactor;
Size.Y *= scaleFactor;
delete thumbData;
delete[] thumbData;
}
}
Thumbnail::~Thumbnail()
{
if(Data)
delete Data;
delete[] Data;
}

View File

@ -4839,7 +4839,8 @@ Simulation::Simulation():
lighting_recreate(0),
force_stacking_check(0),
ISWIRE(0),
VINE_MODE(0)
VINE_MODE(0),
gravWallChanged(false)
{
int tportal_rx[] = {-1, 0, 1, 1, 1, 0,-1,-1};
int tportal_ry[] = {-1,-1,-1, 0, 1, 1, 1, 0};
@ -4917,6 +4918,13 @@ Simulation::Simulation():
memcpy(gmenu, golMenuT, sizeof(gol_menu) * golMenuCount);
free(golMenuT);
Element_STKM::STKM_init_legs(this, &player, 0);
player.spwn = 1;
player.elem = PT_DUST;
Element_STKM::STKM_init_legs(this, &player2, 0);
player2.spwn = 1;
player2.elem = PT_DUST;
init_can_move();
clear_sim();