]> git.sesse.net Git - kdenlive/blobdiff - src/kthumb.cpp
Enter 2012.
[kdenlive] / src / kthumb.cpp
index c7dcfebebf97adef4f08b9f7e6f2742f1a96105b..a87f654d6ac8cf6c741218f3c390ebf9b5f62815 100644 (file)
@@ -40,7 +40,7 @@
 #include <QtConcurrentRun>
 #include <QVarLengthArray>
 
-KThumb::KThumb(ClipManager *clipManager, KUrl url, const QString &id, const QString &hash, QObject * parent, const char */*name*/) :
+KThumb::KThumb(ClipManager *clipManager, KUrl url, const QString &id, const QString &hash, QObject * parent) :
     QObject(parent),
     m_url(url),
     m_thumbFile(),
@@ -56,6 +56,7 @@ KThumb::KThumb(ClipManager *clipManager, KUrl url, const QString &id, const QStr
 KThumb::~KThumb()
 {
     if (m_producer) m_clipManager->stopThumbs(m_id);
+    m_producer = NULL;
     m_intraFramesQueue.clear();
     m_intra.waitForFinished();
 }
@@ -122,15 +123,14 @@ void KThumb::getThumb(int frame)
     emit thumbReady(frame, img);
 }
 
-QPixmap KThumb::extractImage(int frame, int width, int height)
+QImage KThumb::extractImage(int frame, int width, int height)
 {
     if (m_producer == NULL) {
-        QPixmap p(width, height);
-        p.fill(Qt::black);
-        return p;
+        QImage img(width, height, QImage::Format_ARGB32_Premultiplied);
+        img.fill(Qt::black);
+        return img;
     }
-    QImage img = getProducerFrame(frame, (int) (height * m_ratio + 0.5), width, height);
-    return QPixmap::fromImage(img);
+    return getProducerFrame(frame, (int) (height * m_ratio + 0.5), width, height);
 }
 
 //static