From 708c8be08981bced8cb71a07152aeb37620e72fc Mon Sep 17 00:00:00 2001 From: Ethan Lee Date: Wed, 1 Jul 2020 00:36:04 -0400 Subject: [PATCH] NULL checks for processVsync --- desktop_version/src/Graphics.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/desktop_version/src/Graphics.cpp b/desktop_version/src/Graphics.cpp index 468027a8..4adab7de 100644 --- a/desktop_version/src/Graphics.cpp +++ b/desktop_version/src/Graphics.cpp @@ -3279,11 +3279,21 @@ void Graphics::processVsync() SDL_SetHintWithPriority(SDL_HINT_RENDER_VSYNC, vsync ? "1" : "0", SDL_HINT_OVERRIDE); // FIXME: Sigh... work around SDL2 bug where the VSync hint is only listened to at renderer creation - SDL_DestroyRenderer(screenbuffer->m_renderer); + if (screenbuffer == NULL) + { + return; + } + if (screenbuffer->m_renderer != NULL) + { + SDL_DestroyRenderer(screenbuffer->m_renderer); + } screenbuffer->m_renderer = SDL_CreateRenderer(screenbuffer->m_window, -1, 0); // Ugh, have to re-create m_screenTexture as well, otherwise the screen will be black... - SDL_DestroyTexture(screenbuffer->m_screenTexture); + if (screenbuffer->m_screenTexture != NULL) + { + SDL_DestroyTexture(screenbuffer->m_screenTexture); + } // FIXME: This is duplicated from Screen::init()! screenbuffer->m_screenTexture = SDL_CreateTexture( screenbuffer->m_renderer,