From 571af07397d58b3cb4bd9248ff5d4bec906d12dd Mon Sep 17 00:00:00 2001 From: Edric Milaret <edric.ladent-milaret@savoirfairelinux.com> Date: Thu, 12 Nov 2015 16:26:49 -0500 Subject: [PATCH] video: check consistency between size and storage - This avoid trying to make a new image with a storage not large enough. Change-Id: I78a7e79fd00d49368cadd1f03002481b6898ddec Tuleap: #136 --- videowidget.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/videowidget.cpp b/videowidget.cpp index 9079a92..c12c100 100644 --- a/videowidget.cpp +++ b/videowidget.cpp @@ -82,7 +82,9 @@ VideoWidget::paintEvent(QPaintEvent *evt) { if (renderer_) { { QMutexLocker lock(&mutex_); - if (currentDistantFrame_.storage.size() != 0) { + if (currentDistantFrame_.storage.size() != 0 + && currentDistantFrame_.storage.size() == + (renderer_->size().height()*renderer_->size().width()*4)) { frameDistant_ = std::move(currentDistantFrame_.storage); distantImage_.reset(new QImage((uchar*)frameDistant_.data(), renderer_->size().width(), @@ -100,7 +102,9 @@ VideoWidget::paintEvent(QPaintEvent *evt) { if (previewRenderer_) { { QMutexLocker lock(&mutex_); - if (currentPreviewFrame_.storage.size() != 0) { + if (currentPreviewFrame_.storage.size() != 0 + && currentPreviewFrame_.storage.size() == + (previewRenderer_->size().height()*previewRenderer_->size().width()*4)) { framePreview_ = std::move(currentPreviewFrame_.storage); previewImage_.reset(new QImage((uchar*)framePreview_.data(), previewRenderer_->size().width(), -- GitLab