const LEFontInstance *GDIFontMap::openFont(const char *fontName, le_int16 pointSize, LEErrorCode &status)
{
- return new GDIFontInstance(fSurface, fontName, pointSize, status);
+ LEFontInstance *result = new GDIFontInstance(fSurface, fontName, pointSize, status);
+
+ if (LE_FAILURE(status)) {
+ delete result;
+ result = NULL;
+ }
+
+ return result;
}