summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/video/sdl2_opengl_v.cpp5
-rw-r--r--src/video/win32_v.cpp6
2 files changed, 11 insertions, 0 deletions
diff --git a/src/video/sdl2_opengl_v.cpp b/src/video/sdl2_opengl_v.cpp
index 08718a01e..202593e64 100644
--- a/src/video/sdl2_opengl_v.cpp
+++ b/src/video/sdl2_opengl_v.cpp
@@ -69,6 +69,11 @@ const char *VideoDriver_SDL_OpenGL::Start(const StringList &param)
int w, h;
SDL_GetWindowSize(this->sdl_window, &w, &h);
this->ClientSizeChanged(w, h, true);
+ /* We should have a valid screen buffer now. If not, something went wrong and we should abort. */
+ if (_screen.dst_ptr == nullptr) {
+ this->Stop();
+ return "Can't get pointer to screen buffer";
+ }
return nullptr;
}
diff --git a/src/video/win32_v.cpp b/src/video/win32_v.cpp
index 467478461..08ab27c53 100644
--- a/src/video/win32_v.cpp
+++ b/src/video/win32_v.cpp
@@ -1305,6 +1305,12 @@ const char *VideoDriver_Win32OpenGL::Start(const StringList &param)
}
this->ClientSizeChanged(this->width, this->height, true);
+ /* We should have a valid screen buffer now. If not, something went wrong and we should abort. */
+ if (_screen.dst_ptr == nullptr) {
+ this->Stop();
+ _cur_resolution = old_res;
+ return "Can't get pointer to screen buffer";
+ }
MarkWholeScreenDirty();