尽管运行了SDL_FreeSurface,但TTF_RenderText_Solid内存泄漏

时间:2017-10-26 15:06:43

标签: c memory-leaks sdl-2 sdl-ttf

我正在编写一个函数来将菜单屏幕渲染到我的sdl_window,但是我在函数中遇到了巨大的内存泄漏,我将文本渲染到表面。我运行TTF_RenderText_Solid,将新曲面blit到主曲面并使用SDL_FreeSurface释放文本界面,如下面的代码所示。

void show_button(SDL_Surface *surface, button_t *button) {
  SDL_Surface *tmp = NULL;
  tmp = TTF_RenderText_Solid(button->font, button->name,button->color);
  SDL_BlitSurface(tmp, NULL, surface, &button->box);
  SDL_FreeSurface(tmp);
  return;
}

任何帮助都会受到赞赏,因为我不明白为什么SDL_FreeSurface调用无法解决问题。

0 个答案:

没有答案