From 13dd17d6f23b04c72bb9221a0d6a47d1e577fe72 Mon Sep 17 00:00:00 2001 From: baldurk Date: Fri, 2 Feb 2018 17:42:57 +0000 Subject: [PATCH] Always 'release' the preview window even if it wasn't created. * This helps on android where we might fail to create the preview window if our app isn't in the front, but we still want to let the base loop know that we're done previewing and let it go back to the generic splash screen. --- renderdoc/core/replay_proxy.cpp | 4 +++- renderdoccmd/renderdoccmd_android.cpp | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/renderdoc/core/replay_proxy.cpp b/renderdoc/core/replay_proxy.cpp index bad34b05a..66a81bfd2 100644 --- a/renderdoc/core/replay_proxy.cpp +++ b/renderdoc/core/replay_proxy.cpp @@ -1891,9 +1891,11 @@ void ReplayProxy::ShutdownPreviewWindow() if(m_Replay && m_PreviewOutput) { m_Replay->DestroyOutputWindow(m_PreviewOutput); - m_PreviewWindow(false, {}); m_PreviewOutput = 0; } + + if(m_PreviewWindow) + m_PreviewWindow(false, {}); } void ReplayProxy::RefreshPreviewWindow() diff --git a/renderdoccmd/renderdoccmd_android.cpp b/renderdoccmd/renderdoccmd_android.cpp index b31862e12..898150969 100644 --- a/renderdoccmd/renderdoccmd_android.cpp +++ b/renderdoccmd/renderdoccmd_android.cpp @@ -132,7 +132,7 @@ void DisplayGenericSplash() EGLDisplay eglDisplay = eglGetDisplay(EGL_DEFAULT_DISPLAY); ANativeWindow *previewWindow = android_state->window; - if(eglDisplay) + if(eglDisplay && previewWindow) { int major = 0, minor = 0; eglInitialize(eglDisplay, &major, &minor);