diff --git a/source/blender/imbuf/intern/allocimbuf.c b/source/blender/imbuf/intern/allocimbuf.c index b8771e372cf..5c79eb2c544 100644 --- a/source/blender/imbuf/intern/allocimbuf.c +++ b/source/blender/imbuf/intern/allocimbuf.c @@ -128,6 +128,13 @@ void imb_freetilesImBuf(ImBuf *ibuf) ibuf->mall &= ~IB_tiles; } +static void imb_free_bitmap_font(ImBuf *ibuf) +{ + if (ibuf->userdata && (ibuf->userflags & IB_BITMAPFONT)) { + MEM_freeN(ibuf->userdata); + } +} + static void freeencodedbufferImBuf(ImBuf *ibuf) { if (ibuf == NULL) return; @@ -181,6 +188,7 @@ void IMB_freeImBuf(ImBuf *ibuf) imb_freerectImBuf(ibuf); imb_freerectfloatImBuf(ibuf); imb_freetilesImBuf(ibuf); + imb_free_bitmap_font(ibuf); IMB_freezbufImBuf(ibuf); IMB_freezbuffloatImBuf(ibuf); freeencodedbufferImBuf(ibuf);