diff --git a/src/video/win32_v.cpp b/src/video/win32_v.cpp --- a/src/video/win32_v.cpp +++ b/src/video/win32_v.cpp @@ -1545,14 +1545,19 @@ bool VideoDriver_Win32OpenGL::AllocateBa void *VideoDriver_Win32OpenGL::GetVideoPointer() { + if (BlitterFactory::GetCurrentBlitter()->NeedsAnimationBuffer()) { + this->anim_buffer = OpenGLBackend::Get()->GetAnimBuffer(); + } return OpenGLBackend::Get()->GetVideoBuffer(); } void VideoDriver_Win32OpenGL::ReleaseVideoPointer() { + if (this->anim_buffer != nullptr) OpenGLBackend::Get()->ReleaseAnimBuffer(this->dirty_rect); OpenGLBackend::Get()->ReleaseVideoBuffer(this->dirty_rect); this->dirty_rect = {}; _screen.dst_ptr = nullptr; + this->anim_buffer = nullptr; } void VideoDriver_Win32OpenGL::Paint()