使用TRueType字体编写SDL程序。我致电TTF_Init()
初始化TTF并使用TTF_OpenFont( name, size )
打开我的字体。
我有一个例程,使用将空终止的文本字符串插入到列表框中
sdl_surface=TTF_RenderText_Solid( font, data, sdl_color)
。这个例程适用于我然后将表面blit到我的listbox
表面并删除从RenderText返回的表面。我一遍又一遍地这样做,它大部分时间都有效。但在第11个字符串进入它挂起。没有错误只是锁定程序。我知道这不是很多,但我被困住了。
答案 0 :(得分:0)
您是否正在调用SDL_FreeSurface?
if (sdl_surface != NULL) SDL_FreeSurface(sdl_surface);
sdl_surface=TTF_RenderText_Solid( font, data, sdl_color)
答案 1 :(得分:0)
是的,因为事实证明问题出在另一个具有内存分配偏移的例程中。一旦我发现它消失了。