From ce0290c7626df71c6023a679a516dbcd6e0488d5 Mon Sep 17 00:00:00 2001 From: itsmattkc Date: Fri, 16 Apr 2021 12:05:45 +1000 Subject: [PATCH] scopebase: handle texture creation/destruction better --- app/widget/scope/scopebase/scopebase.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app/widget/scope/scopebase/scopebase.cpp b/app/widget/scope/scopebase/scopebase.cpp index 74b1ff57d..70cc6885b 100644 --- a/app/widget/scope/scopebase/scopebase.cpp +++ b/app/widget/scope/scopebase/scopebase.cpp @@ -91,8 +91,6 @@ void ScopeBase::OnInit() { super::OnInit(); - UploadTextureFromBuffer(); - pipeline_ = renderer()->CreateNativeShader(GenerateShaderCode()); } @@ -103,6 +101,10 @@ void ScopeBase::OnPaint() if (buffer_) { // Convert reference frame to display space + if (!texture_ || !managed_tex_) { + UploadTextureFromBuffer(); + makeCurrent(); // UploadTextureFromBuffer calls "doneCurrent", so we re-call "makeCurrent" + } renderer()->BlitColorManaged(color_service(), texture_, true, managed_tex_.get()); DrawScope(managed_tex_, pipeline_);