diff options
| author | Simon Robertshaw <simon@hardwired.org.uk> | 2012-08-10 22:08:55 (GMT) |
|---|---|---|
| committer | Simon Robertshaw <simon@hardwired.org.uk> | 2012-08-10 22:08:55 (GMT) |
| commit | e34ed89dc359a685fc80011cfe6dbbbe175008c3 (patch) | |
| tree | f95a196a0cb1935ba72f6e386f31dd35a44a8296 /src | |
| parent | a8fbd905c258e57a698187b471f10f81eb516ea0 (diff) | |
| download | powder-e34ed89dc359a685fc80011cfe6dbbbe175008c3.zip powder-e34ed89dc359a685fc80011cfe6dbbbe175008c3.tar.gz | |
Some fixes for memory leaks
Diffstat (limited to 'src')
| -rw-r--r-- | src/game/GameView.cpp | 29 | ||||
| -rw-r--r-- | src/game/GameView.h | 1 | ||||
| -rw-r--r-- | src/graphics/Renderer.cpp | 7 |
3 files changed, 37 insertions, 0 deletions
diff --git a/src/game/GameView.cpp b/src/game/GameView.cpp index df755f0..352d9e5 100644 --- a/src/game/GameView.cpp +++ b/src/game/GameView.cpp @@ -496,6 +496,35 @@ GameView::GameView(): renderModePresets[9].ColourMode = COLOUR_GRAD; } +GameView::~GameView() +{ + delete[] renderModePresets; + + if(!colourRSlider->GetParentWindow()) + delete colourRSlider; + + if(!colourGSlider->GetParentWindow()) + delete colourGSlider; + + if(!colourBSlider->GetParentWindow()) + delete colourBSlider; + + if(!colourASlider->GetParentWindow()) + delete colourASlider; + + if(!colourRValue->GetParentWindow()) + delete colourRValue; + + if(!colourGValue->GetParentWindow()) + delete colourGValue; + + if(!colourBValue->GetParentWindow()) + delete colourBValue; + + if(!colourAValue->GetParentWindow()) + delete colourAValue; +} + class GameView::MenuAction: public ui::ButtonAction { GameView * v; diff --git a/src/game/GameView.h b/src/game/GameView.h index efb4895..de84e1e 100644 --- a/src/game/GameView.h +++ b/src/game/GameView.h @@ -119,6 +119,7 @@ private: void disableAltBehaviour(); public: GameView(); + virtual ~GameView(); //Breaks MVC, but any other way is going to be more of a mess. ui::Point GetMousePosition(); diff --git a/src/graphics/Renderer.cpp b/src/graphics/Renderer.cpp index ea3c840..aed78b2 100644 --- a/src/graphics/Renderer.cpp +++ b/src/graphics/Renderer.cpp @@ -2477,6 +2477,13 @@ unsigned int Renderer::GetColourMode() Renderer::~Renderer() { +#if !defined(OGLR) +#if defined(OGLI) + delete[] vid; +#endif + delete[] persistentVid; + delete[] warpVid; +#endif free(graphicscache); free(flm_data); free(plasma_data); |
