diff --git a/xbmc/cores/RetroPlayer/buffers/CMakeLists.txt b/xbmc/cores/RetroPlayer/buffers/CMakeLists.txt index 867d33115b4b8..f48420e16d271 100644 --- a/xbmc/cores/RetroPlayer/buffers/CMakeLists.txt +++ b/xbmc/cores/RetroPlayer/buffers/CMakeLists.txt @@ -24,7 +24,7 @@ if(OPENGL_FOUND) RenderBufferPoolOpenGL.cpp) endif() -if((CORE_PLATFORM_NAME_LC STREQUAL gbm OR CORE_PLATFORM_NAME_LC STREQUAL wayland)) +if(CORE_PLATFORM_NAME_LC STREQUAL gbm OR CORE_PLATFORM_NAME_LC STREQUAL wayland) list(APPEND SOURCES RenderBufferDMA.cpp RenderBufferPoolDMA.cpp) list(APPEND HEADERS RenderBufferDMA.h diff --git a/xbmc/cores/RetroPlayer/buffers/RenderBufferDMA.cpp b/xbmc/cores/RetroPlayer/buffers/RenderBufferDMA.cpp index fe737ae8fc518..9b44d97dd3c38 100644 --- a/xbmc/cores/RetroPlayer/buffers/RenderBufferDMA.cpp +++ b/xbmc/cores/RetroPlayer/buffers/RenderBufferDMA.cpp @@ -20,11 +20,15 @@ using namespace RETRO; CRenderBufferDMA::CRenderBufferDMA(CRenderContext& context, int fourcc) : m_context(context), m_fourcc(fourcc), - m_egl(new CEGLImage( - dynamic_cast(CServiceBroker::GetWinSystem()) - ->GetEGLDisplay())), m_bo(CBufferObject::GetBufferObject()) { + auto winSystemEGL = + dynamic_cast(CServiceBroker::GetWinSystem()); + + if (!winSystemEGL) + throw std::runtime_error("dynamic_cast failed to cast to CWinSystemEGL"); + + m_egl = std::make_unique(winSystemEGL->GetEGLDisplay()); } CRenderBufferDMA::~CRenderBufferDMA() diff --git a/xbmc/cores/RetroPlayer/rendering/VideoRenderers/CMakeLists.txt b/xbmc/cores/RetroPlayer/rendering/VideoRenderers/CMakeLists.txt index 24e4e3f42e183..8094f3a105ca3 100644 --- a/xbmc/cores/RetroPlayer/rendering/VideoRenderers/CMakeLists.txt +++ b/xbmc/cores/RetroPlayer/rendering/VideoRenderers/CMakeLists.txt @@ -18,7 +18,7 @@ if(OPENGL_FOUND) list(APPEND HEADERS RPRendererOpenGL.h) endif() -if((CORE_PLATFORM_NAME_LC STREQUAL gbm OR CORE_PLATFORM_NAME_LC STREQUAL wayland)) +if(CORE_PLATFORM_NAME_LC STREQUAL gbm OR CORE_PLATFORM_NAME_LC STREQUAL wayland) list(APPEND SOURCES RPRendererDMA.cpp) list(APPEND HEADERS RPRendererDMA.h) endif()