]> git.sesse.net Git - kdenlive/blobdiff - src/kthumb.cpp
Various changes for getting an OpenGL context (almost) everywhere it is needed.
[kdenlive] / src / kthumb.cpp
index 3bf19e2841dc28758ee9cd995818923d2c203822..5a81f5481ad789e159b7fdb8ce449faf0ece0773 100644 (file)
@@ -40,6 +40,7 @@
 #include <QtConcurrentRun>
 #include <QVarLengthArray>
 #include <QPainter>
+#include <QGLWidget>
 
 KThumb::KThumb(ClipManager *clipManager, const KUrl &url, const QString &id, const QString &hash, QObject * parent) :
     QObject(parent),
@@ -376,6 +377,10 @@ void KThumb::queryIntraThumbs(const QList <int> &missingFrames)
 
 void KThumb::slotGetIntraThumbs()
 {
+    // We are in a new thread, so we need a new OpenGL context for the remainder of the function.
+    QGLWidget ctx(0, m_clipManager->getMainContext());
+    ctx.makeCurrent();
+
     const int theight = KdenliveSettings::trackheight();
     const int frameWidth = (int)(theight * m_ratio + 0.5);
     const int displayWidth = (int)(theight * m_dar + 0.5);