diff --git a/app/widget/viewer/viewer.cpp b/app/widget/viewer/viewer.cpp index 6f1cc50e7..51ba928bb 100644 --- a/app/widget/viewer/viewer.cpp +++ b/app/widget/viewer/viewer.cpp @@ -37,6 +37,7 @@ ViewerWidget::ViewerWidget(QWidget *parent) : TimeBasedWidget(false, true, parent), playback_speed_(0), + frame_cache_job_time_(0), color_menu_enabled_(true), divider_(Config::Current()["DefaultViewerDivider"].toInt()), override_color_manager_(nullptr), @@ -467,7 +468,7 @@ void ViewerWidget::PlaybackTimerUpdate() void ViewerWidget::RendererCachedFrame(const rational &time, QVariant value, qint64 job_time) { - if (GetTime() == time) { + if (GetTime() == time && job_time > frame_cache_job_time_) { frame_cache_job_time_ = job_time; SetTexture(value.value()); diff --git a/app/widget/viewer/viewerglwidget.h b/app/widget/viewer/viewerglwidget.h index 51dc6facd..18f82bda1 100644 --- a/app/widget/viewer/viewerglwidget.h +++ b/app/widget/viewer/viewerglwidget.h @@ -57,26 +57,6 @@ public: virtual ~ViewerGLWidget() override; - /** - * @brief Deleted copy constructor - */ - ViewerGLWidget(const ViewerGLWidget& other) = delete; - - /** - * @brief Deleted move constructor - */ - ViewerGLWidget(ViewerGLWidget&& other) = delete; - - /** - * @brief Deleted copy assignment - */ - ViewerGLWidget& operator=(const ViewerGLWidget& other) = delete; - - /** - * @brief Deleted move assignment - */ - ViewerGLWidget& operator=(ViewerGLWidget&& other) = delete; - /** * @brief Connect a ColorManager (ColorManagers usually belong to the Project) */