diff --git a/glamor/glamor_font.c b/glamor/glamor_font.c index 9b26180e9..155aec4cb 100644 --- a/glamor/glamor_font.c +++ b/glamor/glamor_font.c @@ -160,11 +160,14 @@ glamor_font_get(ScreenPtr screen, FontPtr font) glTexImage2D(GL_TEXTURE_2D, 0, GL_R8UI, overall_width, overall_height, 0, GL_RED_INTEGER, GL_UNSIGNED_BYTE, bits); glamor_priv->suppress_gl_out_of_memory_logging = false; - if (glGetError() == GL_OUT_OF_MEMORY) - return NULL; - free(bits); + if (glGetError() == GL_OUT_OF_MEMORY) { + glDeleteTextures(1, &glamor_font->texture_id); + glamor_font->texture_id = 0; + return NULL; + } + glamor_font->realized = TRUE; return glamor_font;