diff options
| author | Simon Robertshaw <simon@hardwired.org.uk> | 2012-06-20 12:40:34 (GMT) |
|---|---|---|
| committer | Simon Robertshaw <simon@hardwired.org.uk> | 2012-06-20 12:40:34 (GMT) |
| commit | e81e18238df47212d84fa00422a64983857e1ea1 (patch) | |
| tree | 67c973f1f3666f9f4b230524575cda5dd6cc4cd6 /src | |
| parent | 2be9c925088c16beb144dd9932202416d00ff581 (diff) | |
| parent | f6403958de1f67d3bce47f56b40de254c30f5ba4 (diff) | |
| download | powder-e81e18238df47212d84fa00422a64983857e1ea1.zip powder-e81e18238df47212d84fa00422a64983857e1ea1.tar.gz | |
Merge branch 'master' of github.com:FacialTurd/PowderToypp
Diffstat (limited to 'src')
| -rw-r--r-- | src/client/GameSave.cpp | 41 | ||||
| -rw-r--r-- | src/console/ConsoleController.cpp | 7 | ||||
| -rw-r--r-- | src/game/Brush.h | 12 | ||||
| -rw-r--r-- | src/game/EllipseBrush.h | 4 | ||||
| -rw-r--r-- | src/game/GameController.cpp | 3 | ||||
| -rw-r--r-- | src/game/GameModel.cpp | 32 | ||||
| -rw-r--r-- | src/game/Menu.h | 9 | ||||
| -rw-r--r-- | src/interface/Textblock.cpp | 7 | ||||
| -rw-r--r-- | src/interface/Textbox.cpp | 4 | ||||
| -rw-r--r-- | src/localbrowser/LocalBrowserController.cpp | 7 | ||||
| -rw-r--r-- | src/login/LoginController.cpp | 1 | ||||
| -rw-r--r-- | src/options/OptionsController.cpp | 3 | ||||
| -rw-r--r-- | src/preview/PreviewController.cpp | 3 | ||||
| -rw-r--r-- | src/render/RenderController.cpp | 3 | ||||
| -rw-r--r-- | src/search/SearchController.cpp | 1 | ||||
| -rw-r--r-- | src/search/SearchView.cpp | 7 | ||||
| -rw-r--r-- | src/simulation/Simulation.cpp | 4 | ||||
| -rw-r--r-- | src/ssave/SSaveController.cpp | 4 | ||||
| -rw-r--r-- | src/tags/TagsController.cpp | 7 |
19 files changed, 108 insertions, 51 deletions
diff --git a/src/client/GameSave.cpp b/src/client/GameSave.cpp index 46a600f..a7b9fbf 100644 --- a/src/client/GameSave.cpp +++ b/src/client/GameSave.cpp @@ -22,6 +22,8 @@ gravityMode(save.gravityMode), airMode(save.airMode), signs(save.signs) { + blockMap, blockMapPtr, fanVelX, fanVelXPtr, fanVelY, fanVelYPtr, particles = NULL; + setSize(save.blockWidth, save.blockHeight); particlesCount = save.particlesCount; @@ -33,6 +35,7 @@ signs(save.signs) GameSave::GameSave(int width, int height) { + blockMap, blockMapPtr, fanVelX, fanVelXPtr, fanVelY, fanVelYPtr, particles = NULL; setSize(width, height); } @@ -702,6 +705,8 @@ fin: bson_destroy(&b); if(freeIndices) free(freeIndices); + if(partsSimIndex) + free(partsSimIndex); } void GameSave::readPSv(char * data, int dataLength) @@ -1672,26 +1677,18 @@ fin: GameSave::~GameSave() { - if(blockWidth && blockHeight) - { - if(particles) - { - delete[] particles; - } - if(blockMap) - { - delete[] blockMapPtr; - delete[] blockMap; - } - if(fanVelX) - { - delete[] fanVelXPtr; - delete[] fanVelX; - } - if(fanVelY) - { - delete[] fanVelYPtr; - delete[] fanVelY; - } - } + if(particles) + delete[] particles; + if(blockMap) + delete[] blockMap; + if(blockMapPtr) + delete[] blockMapPtr; + if(fanVelX) + delete[] fanVelX; + if(fanVelXPtr) + delete[] fanVelXPtr; + if(fanVelY) + delete[] fanVelY; + if(fanVelYPtr) + delete[] fanVelYPtr; } diff --git a/src/console/ConsoleController.cpp b/src/console/ConsoleController.cpp index 7f1975d..618137d 100644 --- a/src/console/ConsoleController.cpp +++ b/src/console/ConsoleController.cpp @@ -70,6 +70,11 @@ ConsoleView * ConsoleController::GetView() } ConsoleController::~ConsoleController() { - // TODO Auto-generated destructor stub + if(ui::Engine::Ref().GetWindow() == consoleView) + ui::Engine::Ref().CloseWindow(); + if(callback) + delete callback; + delete consoleModel; + delete consoleView; } diff --git a/src/game/Brush.h b/src/game/Brush.h index 34354c0..0adcd95 100644 --- a/src/game/Brush.h +++ b/src/game/Brush.h @@ -25,8 +25,8 @@ protected: if(!bitmap) return; if(outline) - free(outline); - outline = (unsigned char *)calloc(size.X*size.Y, sizeof(unsigned char)); + delete[] outline; + outline = new unsigned char[size.X*size.Y]; for(int x = 0; x < size.X; x++) { for(int y = 0; y < size.Y; y++) @@ -69,9 +69,9 @@ public: } virtual ~Brush() { if(bitmap) - delete bitmap; + delete[] bitmap; if(outline) - delete outline; + delete[] outline; } virtual void RenderRect(Graphics * g, ui::Point position1, ui::Point position2) { @@ -109,8 +109,8 @@ public: virtual void GenerateBitmap() { if(bitmap) - free(bitmap); - bitmap = (unsigned char *)calloc((size.X*size.Y), sizeof(unsigned char)); + delete[] bitmap; + bitmap = new unsigned char[size.X*size.Y]; for(int x = 0; x < size.X; x++) { for(int y = 0; y < size.Y; y++) diff --git a/src/game/EllipseBrush.h b/src/game/EllipseBrush.h index a02516e..9a75dfb 100644 --- a/src/game/EllipseBrush.h +++ b/src/game/EllipseBrush.h @@ -22,8 +22,8 @@ public: virtual void GenerateBitmap() { if(bitmap) - free(bitmap); - bitmap = (unsigned char*)calloc((size.X*size.Y), sizeof(unsigned char)); + delete[] bitmap; + bitmap = new unsigned char[size.X*size.Y]; int rx = radius.X; int ry = radius.Y; for(int x = 0; x <= radius.X*2; x++) diff --git a/src/game/GameController.cpp b/src/game/GameController.cpp index dfbd935..6ed6e0f 100644 --- a/src/game/GameController.cpp +++ b/src/game/GameController.cpp @@ -39,7 +39,7 @@ public: { try { - cc->gameModel->SetSave(new SaveInfo(*(cc->search->GetLoadedSave()))); + cc->gameModel->SetSave(cc->search->GetLoadedSave()); } catch(GameModelException & ex) { @@ -163,6 +163,7 @@ GameController::~GameController() ui::Engine::Ref().CloseWindow(); } delete gameModel; + delete gameView; } GameView * GameController::GetView() diff --git a/src/game/GameModel.cpp b/src/game/GameModel.cpp index 054a415..7a1d231 100644 --- a/src/game/GameModel.cpp +++ b/src/game/GameModel.cpp @@ -170,10 +170,6 @@ GameModel::~GameModel() for(int i = 0; i < menuList.size(); i++) { - for(int j = 0; i < menuList[i]->GetToolList().size(); i++) - { - delete menuList[i]->GetToolList()[j]; - } delete menuList[i]; } for(int i = 0; i < brushList.size(); i++) @@ -186,6 +182,8 @@ GameModel::~GameModel() delete clipboard; if(stamp) delete stamp; + if(currentSave) + delete currentSave; //if(activeTools) // delete[] activeTools; } @@ -282,8 +280,15 @@ SaveInfo * GameModel::GetSave() void GameModel::SetSave(SaveInfo * newSave) { if(currentSave != newSave) - delete currentSave; - currentSave = newSave; + { + if(currentSave) + delete currentSave; + if(newSave == NULL) + currentSave = NULL; + else + currentSave = new SaveInfo(*newSave); + } + if(currentSave && currentSave->GetGameSave()) { GameSave * saveData = currentSave->GetGameSave(); @@ -451,12 +456,15 @@ void GameModel::ClearSimulation() void GameModel::SetStamp(GameSave * save) { - if(stamp) - delete stamp; - if(save) - stamp = new GameSave(*save); - else - stamp = NULL; + if(stamp != save) + { + if(stamp) + delete stamp; + if(save) + stamp = new GameSave(*save); + else + stamp = NULL; + } } void GameModel::SetPlaceSave(GameSave * save) diff --git a/src/game/Menu.h b/src/game/Menu.h index 1824190..261193e 100644 --- a/src/game/Menu.h +++ b/src/game/Menu.h @@ -24,6 +24,15 @@ public: } + virtual ~Menu() + { + for(int i = 0; i < tools.size(); i++) + { + delete tools[i]; + } + tools.clear(); + } + vector<Tool*> GetToolList() { return tools; diff --git a/src/interface/Textblock.cpp b/src/interface/Textblock.cpp index c378925..f003a6a 100644 --- a/src/interface/Textblock.cpp +++ b/src/interface/Textblock.cpp @@ -28,8 +28,8 @@ void Textblock::SetText(std::string text) void Textblock::updateMultiline() { - char * rawText = (char*)malloc(text.length()+1); - memcpy(rawText, text.c_str(), text.length()); + char * rawText = new char[text.length()+1]; + std::copy(text.begin(), text.end(), rawText); rawText[text.length()] = 0; int lines = 1; @@ -60,7 +60,8 @@ void Textblock::updateMultiline() { Size.Y = lines*12; } - textLines = rawText; + textLines = std::string(rawText); + delete[] rawText; } void Textblock::Draw(const Point &screenPos) diff --git a/src/interface/Textbox.cpp b/src/interface/Textbox.cpp index 4c0e267..4ea5bd0 100644 --- a/src/interface/Textbox.cpp +++ b/src/interface/Textbox.cpp @@ -129,10 +129,10 @@ void Textbox::OnKeyPress(int key, Uint16 character, bool shift, bool ctrl, bool { if(masked) { - char * tempText = new char[text.length()]; + char * tempText = new char[text.length()+1]; std::fill(tempText, tempText+text.length(), 0x8d); tempText[text.length()] = 0; - displayText = tempText; + displayText = std::string(tempText); delete tempText; } else diff --git a/src/localbrowser/LocalBrowserController.cpp b/src/localbrowser/LocalBrowserController.cpp index a66715a..7eca5d3 100644 --- a/src/localbrowser/LocalBrowserController.cpp +++ b/src/localbrowser/LocalBrowserController.cpp @@ -130,6 +130,11 @@ void LocalBrowserController::Exit() } LocalBrowserController::~LocalBrowserController() { - // TODO Auto-generated destructor stub + if(ui::Engine::Ref().GetWindow() == browserView) + ui::Engine::Ref().CloseWindow(); + if(callback) + delete callback; + delete localBrowserModel; + delete localBrowserView; } diff --git a/src/login/LoginController.cpp b/src/login/LoginController.cpp index af1a66a..a44e9ea 100644 --- a/src/login/LoginController.cpp +++ b/src/login/LoginController.cpp @@ -49,5 +49,6 @@ LoginController::~LoginController() { ui::Engine::Ref().CloseWindow(); } delete loginModel; + delete loginView; } diff --git a/src/options/OptionsController.cpp b/src/options/OptionsController.cpp index 85f2a2f..f007316 100644 --- a/src/options/OptionsController.cpp +++ b/src/options/OptionsController.cpp @@ -70,5 +70,8 @@ OptionsController::~OptionsController() { ui::Engine::Ref().CloseWindow(); } delete model; + delete view; + if(callback) + delete callback; } diff --git a/src/preview/PreviewController.cpp b/src/preview/PreviewController.cpp index 6490b50..22913d7 100644 --- a/src/preview/PreviewController.cpp +++ b/src/preview/PreviewController.cpp @@ -103,5 +103,8 @@ PreviewController::~PreviewController() { ui::Engine::Ref().CloseWindow(); } delete previewModel; + delete previewView; + if(callback) + delete callback; } diff --git a/src/render/RenderController.cpp b/src/render/RenderController.cpp index c77f381..75227cd 100644 --- a/src/render/RenderController.cpp +++ b/src/render/RenderController.cpp @@ -61,6 +61,9 @@ RenderController::~RenderController() { { ui::Engine::Ref().CloseWindow(); } + if(callback) + delete callback; delete renderModel; + delete renderView; } diff --git a/src/search/SearchController.cpp b/src/search/SearchController.cpp index aff9636..68fe978 100644 --- a/src/search/SearchController.cpp +++ b/src/search/SearchController.cpp @@ -89,6 +89,7 @@ SearchController::~SearchController() ui::Engine::Ref().CloseWindow(); } delete searchModel; + delete searchView; } void SearchController::DoSearch(std::string query) diff --git a/src/search/SearchView.cpp b/src/search/SearchView.cpp index 47392fa..2c56ae0 100644 --- a/src/search/SearchView.cpp +++ b/src/search/SearchView.cpp @@ -210,6 +210,13 @@ void SearchView::doSearch() SearchView::~SearchView() { + RemoveComponent(nextButton); + RemoveComponent(previousButton); + RemoveComponent(infoLabel); + + delete nextButton; + delete previousButton; + delete infoLabel; } void SearchView::NotifySortChanged(SearchModel * sender) diff --git a/src/simulation/Simulation.cpp b/src/simulation/Simulation.cpp index f92affb..7c82419 100644 --- a/src/simulation/Simulation.cpp +++ b/src/simulation/Simulation.cpp @@ -4228,8 +4228,12 @@ void Simulation::update_particles()//doesn't update the particles themselves, bu Simulation::~Simulation() { + delete[] elements; + delete[] platent; delete grav; delete air; + for(int i = 0; i < tools.size(); i++) + delete tools[i]; } Simulation::Simulation(): diff --git a/src/ssave/SSaveController.cpp b/src/ssave/SSaveController.cpp index 3a6c3d4..5f37933 100644 --- a/src/ssave/SSaveController.cpp +++ b/src/ssave/SSaveController.cpp @@ -51,5 +51,9 @@ void SSaveController::Exit() SSaveController::~SSaveController() { if(ui::Engine::Ref().GetWindow() == ssaveView) ui::Engine::Ref().CloseWindow(); + delete ssaveModel; + delete ssaveView; + if(callback) + delete callback; } diff --git a/src/tags/TagsController.cpp b/src/tags/TagsController.cpp index 26596fb..845c50f 100644 --- a/src/tags/TagsController.cpp +++ b/src/tags/TagsController.cpp @@ -50,6 +50,11 @@ void TagsController::Exit() } TagsController::~TagsController() { - // TODO Auto-generated destructor stub + if(ui::Engine::Ref().GetWindow() == tagsView) + ui::Engine::Ref().CloseWindow(); + delete tagsModel; + delete tagsView; + if(callback) + delete callback; } |
