From 305be73f672c69595da0b6587f52cf6877dad91a Mon Sep 17 00:00:00 2001 From: Emmanuel Lepage Vallee <emmanuel.lepage@savoirfairelinux.com> Date: Wed, 23 Apr 2014 21:53:20 +0200 Subject: [PATCH] [ #45992 ] Remove a potential double-free issue, simplify the video rendering process --- src/videorenderer.cpp | 5 +++-- src/videorenderer.h | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/videorenderer.cpp b/src/videorenderer.cpp index 02355885..485d7ec0 100644 --- a/src/videorenderer.cpp +++ b/src/videorenderer.cpp @@ -319,9 +319,10 @@ bool VideoRenderer::isRendering() } ///Return the current framerate -QByteArray VideoRenderer::currentFrame() +const QByteArray& VideoRenderer::currentFrame() { - return m_Frame[m_FrameIdx]; + static QByteArray empty; + return m_isRendering?m_Frame[m_FrameIdx]:empty; } ///Return the current resolution diff --git a/src/videorenderer.h b/src/videorenderer.h index cff3189f..79033e2d 100644 --- a/src/videorenderer.h +++ b/src/videorenderer.h @@ -52,7 +52,7 @@ class LIB_EXPORT VideoRenderer : public QObject { //Getters const char* rawData () ; bool isRendering () ; - QByteArray currentFrame () ; + const QByteArray& currentFrame () ; Resolution activeResolution() ; QMutex* mutex () ; int fps () const; -- GitLab