GRIM/EMI: Add nullptr checks to avoid segfaults on cleanup

This commit is contained in:
Christian Krause 2015-01-13 20:37:02 +01:00
parent b832fd43c1
commit 789da551fc
3 changed files with 10 additions and 6 deletions

View file

@ -232,7 +232,7 @@ BitmapData::~BitmapData() {
}
void BitmapData::freeData() {
if (!_keepData) {
if (!_keepData && _data) {
for (int i = 0; i < _numImages; ++i) {
_data[i].free();
}

View file

@ -1218,10 +1218,11 @@ void GfxOpenGLS::selectTexture(const Texture *texture) {
void GfxOpenGLS::destroyTexture(Texture *texture) {
GLuint *textures = static_cast<GLuint *>(texture->_texture);
if (textures) {
glDeleteTextures(1, textures);
delete[] textures;
}
}
void GfxOpenGLS::createBitmap(BitmapData *bitmap) {
if (bitmap->_format != 1) {

View file

@ -1247,8 +1247,11 @@ void GfxTinyGL::selectTexture(const Texture *texture) {
}
void GfxTinyGL::destroyTexture(Texture *texture) {
tglDeleteTextures(1, (TGLuint *)texture->_texture);
delete[] (TGLuint *)texture->_texture;
TGLuint *textures = (TGLuint *)texture->_texture;
if (textures) {
tglDeleteTextures(1, textures);
delete[] textures;
}
}
void GfxTinyGL::prepareMovieFrame(Graphics::Surface *frame) {