# HG changeset patch # User Sebastien Jodogne # Date 1592644615 -7200 # Node ID 6abd819aa5340038b4e7b9a64eebda1de194e2db # Parent 5c96bf3f1d3222a1d1cb4624a465a1c45c23f177 moving edge case from WebGLViewport::UpdateSize() to WebAssemblyOpenGLContext::RefreshCanvasSize() diff -r 5c96bf3f1d32 -r 6abd819aa534 Framework/OpenGL/WebAssemblyOpenGLContext.cpp --- a/Framework/OpenGL/WebAssemblyOpenGLContext.cpp Sat Jun 20 11:08:28 2020 +0200 +++ b/Framework/OpenGL/WebAssemblyOpenGLContext.cpp Sat Jun 20 11:16:55 2020 +0200 @@ -243,7 +243,23 @@ void WebAssemblyOpenGLContext::RefreshCanvasSize() { assert(pimpl_.get() != NULL); - pimpl_->UpdateSize(); + + try + { + pimpl_->UpdateSize(); + } + catch (const StoneException& e) + { + // Ignore problems about the loss of the WebGL context (edge case) + if (e.GetErrorCode() == ErrorCode_WebGLContextLost) + { + return; + } + else + { + throw; + } + } } const std::string& WebAssemblyOpenGLContext::GetCanvasSelector() const diff -r 5c96bf3f1d32 -r 6abd819aa534 Framework/Viewport/WebGLViewport.cpp --- a/Framework/Viewport/WebGLViewport.cpp Sat Jun 20 11:08:28 2020 +0200 +++ b/Framework/Viewport/WebGLViewport.cpp Sat Jun 20 11:16:55 2020 +0200 @@ -59,26 +59,6 @@ } - void WebGLViewport::UpdateSize(ICompositor& compositor) - { - try - { - context_.RefreshCanvasSize(); - } - catch (const StoneException& e) - { - // Ignore problems about the loss of the WebGL context (edge case) - if (e.GetErrorCode() == ErrorCode_WebGLContextLost) - { - return; - } - else - { - throw; - } - } - } - WebGLViewport::WebGLViewport(const std::string& canvasId, bool enableEmscriptenMouseEvents) : WebAssemblyViewport(canvasId,enableEmscriptenMouseEvents), context_(GetCanvasCssSelector()) diff -r 5c96bf3f1d32 -r 6abd819aa534 Framework/Viewport/WebGLViewport.h --- a/Framework/Viewport/WebGLViewport.h Sat Jun 20 11:08:28 2020 +0200 +++ b/Framework/Viewport/WebGLViewport.h Sat Jun 20 11:16:55 2020 +0200 @@ -37,7 +37,10 @@ virtual void Paint(ICompositor& compositor, ViewportController& controller) ORTHANC_OVERRIDE; - virtual void UpdateSize(ICompositor& compositor) ORTHANC_OVERRIDE; + virtual void UpdateSize(ICompositor& compositor) ORTHANC_OVERRIDE + { + context_.RefreshCanvasSize(); + } public: static boost::shared_ptr Create(const std::string& canvasId, bool enableEmscriptenMouseEvents = true);