Fix memory leaks

* Fix recursive reference memory leak in UIWidget
* Make Event/ScheduledEvent memory-leak safe
* Fix exit crashs by freeing graphics resources before destroying GL context
* Add many asserts to avoid any leak regression
This commit is contained in:
Eduardo Bart
2012-06-18 05:13:52 -03:00
parent f650b0e5bb
commit 1c7bbaea89
42 changed files with 326 additions and 81 deletions

View File

@@ -21,6 +21,9 @@
*/
#include "shader.h"
#include "graphics.h"
#include <framework/application.h>
#include <framework/core/resourcemanager.h>
Shader::Shader(Shader::ShaderType shaderType)
@@ -41,7 +44,9 @@ Shader::Shader(Shader::ShaderType shaderType)
Shader::~Shader()
{
glDeleteShader(m_shaderId);
assert(!g_app->isTermianted());
if(g_graphics.ok())
glDeleteShader(m_shaderId);
}
bool Shader::compileSourceCode(const std::string& sourceCode)