diff --git a/indra/llrender/llfontfreetype.cpp b/indra/llrender/llfontfreetype.cpp index bd2eef7fd36fa14073dc3739eac21c1f5cf625dd..ab668dc192dfe7dca62c1ad7311e41ebe0d8b555 100644 --- a/indra/llrender/llfontfreetype.cpp +++ b/indra/llrender/llfontfreetype.cpp @@ -199,6 +199,7 @@ BOOL LLFontFreetype::loadFace(const std::string& filename, F32 point_size, F32 v else { delete pFileStream; + pFileStream = NULL; return FALSE; } #else @@ -214,6 +215,8 @@ BOOL LLFontFreetype::loadFace(const std::string& filename, F32 point_size, F32 v pFileStream->close(); delete pFileStream; delete pFtStream; + pFileStream = NULL; + pFtStream = NULL; #endif return FALSE; } @@ -229,13 +232,15 @@ BOOL LLFontFreetype::loadFace(const std::string& filename, F32 point_size, F32 v if (error) { + // Clean up freetype libs. + FT_Done_Face(mFTFace); #ifdef LL_WINDOWS pFileStream->close(); delete pFileStream; delete pFtStream; + pFileStream = NULL; + pFtStream = NULL; #endif - // Clean up freetype libs. - FT_Done_Face(mFTFace); mFTFace = NULL; return FALSE; }