SDL
SDL copied to clipboard
SDL_CreateTextureFromSurface memory leak
this code occurs memory leak when I remove line with SDL_CreateTextureFromSurface leak stops exist
#include <SDL3/SDL.h>
#include <SDL3_ttf/SDL_ttf.h>
int main() {
SDL_Init(SDL_INIT_VIDEO);
TTF_Init();
SDL_Window* window = SDL_CreateWindow("Title", 640, 480, NULL);
SDL_Renderer* renderer = SDL_CreateRenderer(window, NULL, SDL_RENDERER_SOFTWARE);
TTF_Font* font = TTF_OpenFont("Inter.ttf", 32);
SDL_Texture* text;
SDL_FRect dest;
SDL_Event e;
bool quit = false;
while (!quit) {
SDL_RenderClear(renderer);
if (SDL_PollEvent(&e)) {
switch (e.type) {
case SDL_EVENT_QUIT:
quit = true;
break;
}
}
SDL_Surface* text_surf = TTF_RenderText_Solid(font, "SomeText", SDL_Color(255, 255, 255));
text = SDL_CreateTextureFromSurface(renderer, text_surf);
dest.x = 320 - (text_surf->w / 2.0f);
dest.y = 240;
dest.w = text_surf->w;
dest.h = text_surf->h;
SDL_RenderTexture(renderer, text, NULL, &dest);
SDL_DestroyTexture(text);
SDL_DestroySurface(text_surf);
SDL_RenderPresent(renderer);
}
TTF_CloseFont(font);
SDL_DestroyRenderer(renderer);
SDL_DestroyWindow(window);
TTF_Quit();
SDL_Quit();
return 0;
}
https://github.com/libsdl-org/SDL/assets/77984877/27665385-6a80-494e-9969-6abe9dec5c0a