From 8e0c86a6fa7bc32bd2177d8b72f19f6a4f92d8e9 Mon Sep 17 00:00:00 2001 From: itsmattkc Date: Sat, 19 Sep 2020 12:53:07 +1000 Subject: [PATCH] renderer: if texture is null, don't allocate a frame unless exporting --- app/render/backend/renderworker.cpp | 2 +- app/widget/viewer/viewerdisplay.cpp | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/app/render/backend/renderworker.cpp b/app/render/backend/renderworker.cpp index 28e8a50f5..2db075c25 100644 --- a/app/render/backend/renderworker.cpp +++ b/app/render/backend/renderworker.cpp @@ -126,7 +126,7 @@ void RenderWorker::RenderFrame(RenderTicketPtr ticket, ViewerOutput* viewer, con FramePtr frame = Frame::Create(); frame->set_timestamp(time); - if (video_force_download_resolution_ || texture.isNull()) { + if (video_force_download_resolution_) { // If we're setting the resolution ourselves or we're zeroing it out, allocate the frame now frame->set_video_params(VideoParams(video_params_.width(), video_params_.height(), diff --git a/app/widget/viewer/viewerdisplay.cpp b/app/widget/viewer/viewerdisplay.cpp index 983f422e1..25f13ac58 100644 --- a/app/widget/viewer/viewerdisplay.cpp +++ b/app/widget/viewer/viewerdisplay.cpp @@ -99,7 +99,11 @@ void ViewerDisplayWidget::SetSignalCursorColorEnabled(bool e) void ViewerDisplayWidget::SetImage(FramePtr in_buffer) { - last_loaded_buffer_ = in_buffer; + if (in_buffer && in_buffer->is_allocated()) { + last_loaded_buffer_ = in_buffer; + } else { + last_loaded_buffer_ = nullptr; + } if (last_loaded_buffer_) { makeCurrent();