diff --git a/src/video/kmsdrm/SDL_kmsdrmvideo.c b/src/video/kmsdrm/SDL_kmsdrmvideo.c index f1366e02f1..5e4b4c53cd 100644 --- a/src/video/kmsdrm/SDL_kmsdrmvideo.c +++ b/src/video/kmsdrm/SDL_kmsdrmvideo.c @@ -1712,7 +1712,9 @@ static void KMSDRM_DestroySurfaces(SDL_VideoDevice *_this, SDL_Window *window) /***************************/ if (windata->bo) { - KMSDRM_gbm_surface_release_buffer(windata->gs, windata->bo); + if (windata->bo != windata->next_bo) { + KMSDRM_gbm_surface_release_buffer(windata->gs, windata->bo); + } windata->bo = NULL; }