]> git.sesse.net Git - kdenlive/blobdiff - src/scopes/colorscopes/abstractgfxscopewidget.cpp
Fix includes
[kdenlive] / src / scopes / colorscopes / abstractgfxscopewidget.cpp
index 430b33190524f4507ba120523c55f2dface65162..f39963f3e6a1c48ec4cf1dcc66fa2ef6d88f6cd6 100644 (file)
 #include "renderer.h"
 #include "monitormanager.h"
 
-#include <QtConcurrentRun>
-#include <QFuture>
-#include <QColor>
-#include <QMenu>
 #include <QMouseEvent>
-#include <QPainter>
 
 // Uncomment for debugging.
 //#define DEBUG_AGSW
 
 #ifdef DEBUG_AGSW
-#include <QDebug>
 #endif
 
 const int REALTIME_FPS = 30;
@@ -37,6 +31,7 @@ AbstractGfxScopeWidget::~AbstractGfxScopeWidget() { }
 
 QImage AbstractGfxScopeWidget::renderScope(uint accelerationFactor)
 {
+    QMutexLocker lock(&m_mutex);
     return renderGfxScope(accelerationFactor, m_scopeImage);
 }
 
@@ -50,9 +45,10 @@ void AbstractGfxScopeWidget::mouseReleaseEvent(QMouseEvent *event)
 ///// Slots /////
 
 
-void AbstractGfxScopeWidget::slotRenderZoneUpdated(QImage frame)
+void AbstractGfxScopeWidget::slotRenderZoneUpdated(const QImage &frame)
 {
-    m_scopeImage = frame;
+    QMutexLocker lock(&m_mutex);
+    m_scopeImage = frame.rgbSwapped();
     AbstractScopeWidget::slotRenderZoneUpdated();
 }
 
@@ -67,3 +63,5 @@ void AbstractGfxScopeWidget::slotAutoRefreshToggled(bool autoRefresh)
 #ifdef DEBUG_AGSW
 #undef DEBUG_AGSW
 #endif
+
+#include "abstractgfxscopewidget.moc"