diff --git a/Engine/source/gfx/gfxTextureManager.cpp b/Engine/source/gfx/gfxTextureManager.cpp index 062505f1c..a21022f9d 100644 --- a/Engine/source/gfx/gfxTextureManager.cpp +++ b/Engine/source/gfx/gfxTextureManager.cpp @@ -1131,6 +1131,13 @@ GFXTextureObject *GFXTextureManager::createCompositeTexture(GBitmap*bmp[4], U32 return NULL; } + GFXTextureObject* cacheHit = _lookupTexture(resourceName, profile); + if (cacheHit != NULL) + { + // Con::errorf("Cached texture '%s'", (resourceName.isNotEmpty() ? resourceName.c_str() : "unknown")); + return cacheHit; + } + U8 rChan, gChan, bChan, aChan; GBitmap *outBitmap = new GBitmap(); outBitmap->allocateBitmap(bmp[0]->getWidth(), bmp[0]->getHeight(),false, GFXFormatR8G8B8A8); @@ -1160,19 +1167,14 @@ GFXTextureObject *GFXTextureManager::createCompositeTexture(GBitmap*bmp[4], U32 } } - GFXTextureObject *cacheHit = _lookupTexture(resourceName, profile); - if (cacheHit != NULL) + if (deleteBmp) { - // Con::errorf("Cached texture '%s'", (resourceName.isNotEmpty() ? resourceName.c_str() : "unknown")); - if (deleteBmp) - { - delete outBitmap; - delete[] bmp; - } - return cacheHit; + delete[] bmp; } - return _createTexture(outBitmap, resourceName, profile, deleteBmp, NULL); + GFXTextureObject * ret= _createTexture(outBitmap, resourceName, profile, deleteBmp, NULL); + delete outBitmap; + return ret; } GFXTextureObject* GFXTextureManager::_findPooledTexure( U32 width,