mirror of https://github.com/encounter/SDL.git
Fixed SDL_RenderSetVSync does not update flags if simulated vsync is on
This lets the user to correctly detect current vsync state by reading SDL_RendererInfo. Also fixes SetVSync's return value check (it may be positive for error too). (cherry picked from commit d78072fcd46943288a6007cd6f4ab1f98f446b1d)
This commit is contained in:
parent
519384d3b6
commit
24098b75b1
|
@ -4612,8 +4612,13 @@ SDL_RenderSetVSync(SDL_Renderer * renderer, int vsync)
|
|||
renderer->wanted_vsync = vsync ? SDL_TRUE : SDL_FALSE;
|
||||
|
||||
if (!renderer->SetVSync ||
|
||||
renderer->SetVSync(renderer, vsync) < 0) {
|
||||
renderer->SetVSync(renderer, vsync) != 0) {
|
||||
renderer->simulate_vsync = vsync ? SDL_TRUE : SDL_FALSE;
|
||||
if (renderer->simulate_vsync) {
|
||||
renderer->info.flags |= SDL_RENDERER_PRESENTVSYNC;
|
||||
} else {
|
||||
renderer->info.flags &= ~SDL_RENDERER_PRESENTVSYNC;
|
||||
}
|
||||
} else {
|
||||
renderer->simulate_vsync = SDL_FALSE;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue