From eb9d54465ca465aae2352a2ef97ee0da7b964184 Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Wed, 13 May 2020 19:19:11 -0700 Subject: [PATCH] Don't use EGLRenderer if not built with SDL 2.0.10+ --- app/streaming/video/ffmpeg-renderers/eglvid.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/app/streaming/video/ffmpeg-renderers/eglvid.cpp b/app/streaming/video/ffmpeg-renderers/eglvid.cpp index 085b1845..8ad0fee3 100644 --- a/app/streaming/video/ffmpeg-renderers/eglvid.cpp +++ b/app/streaming/video/ffmpeg-renderers/eglvid.cpp @@ -182,6 +182,16 @@ bool EGLRenderer::initialize(PDECODER_PARAMETERS params) return false; } + // It's not safe to attempt to opportunistically create a GLES2 + // renderer prior to 2.0.10. If GLES2 isn't available, SDL will + // attempt to dereference a null pointer and crash Moonlight. + // https://bugzilla.libsdl.org/show_bug.cgi?id=4350 + // https://hg.libsdl.org/SDL/rev/84618d571795 + if (!SDL_VERSION_ATLEAST(2, 0, 10)) { + EGL_LOG(Error, "Not supported until SDL 2.0.10"); + return false; + } + /* * Create a dummy renderer in order to craft an accelerated SDL Window. * Request opengl ES 3.0 context, otherwise it will SIGSEGV