]> git.sesse.net Git - kdenlive/commitdiff
Fix effects in copy/pasted clips
authorJean-Baptiste Mardelle <jb@kdenlive.org>
Sun, 19 Oct 2008 19:17:26 +0000 (19:17 +0000)
committerJean-Baptiste Mardelle <jb@kdenlive.org>
Sun, 19 Oct 2008 19:17:26 +0000 (19:17 +0000)
svn path=/branches/KDE4/; revision=2502

src/clipitem.cpp
src/effectslist.cpp
src/effectslist.h

index 107e08bd9f4a14cfe64a3331641c37bb6615755d..52e80ccd01bc9fe2dd3a38133a1d0593bba00866 100644 (file)
@@ -111,7 +111,7 @@ ClipItem *ClipItem::clone(ItemInfo info) const {
     if (info.cropStart == cropStart()) duplicate->slotSetStartThumb(m_startPix);
     if (info.cropStart + (info.endPos - info.startPos) == m_cropStart + m_cropDuration) duplicate->slotSetEndThumb(m_endPix);
     kDebug() << "// CLoning clip: " << (info.cropStart + (info.endPos - info.startPos)).frames(m_fps) << ", CURRENT end: " << (cropStart() + duration()).frames(m_fps);
-    duplicate->setEffectList(m_effectList);
+    duplicate->setEffectList(m_effectList.clone());
     duplicate->setSpeed(m_speed);
     return duplicate;
 }
index 39b3b145713aa8100463a6384beb0e1a7436a9fc..331bb75b4dd503c14f650ca155856ae774db5934 100644 (file)
@@ -146,6 +146,14 @@ bool EffectsList::hasKeyFrames(QDomElement effect) {
     return false;
 }
 
+EffectsList EffectsList::clone() const {
+    EffectsList list = EffectsList();
+    for (int i = 0; i < this->size(); ++i) {
+        list.append(this->at(i).cloneNode().toElement());
+    }
+    return list;
+}
+
 // static
 void EffectsList::setParameter(QDomElement effect, QString name, QString value) {
     QDomNodeList params = effect.elementsByTagName("parameter");
index 7b6d12539fa5edba6fbfec596b14304910520321..cfee7ea7884bf12d8877ef16f2e84de6d13ee9c3 100644 (file)
@@ -41,6 +41,7 @@ public:
     QStringList effectNames();
     QString getInfo(const QString & tag, const QString & id);
     QMap <QString, QString> effect(const QString & name);
+    EffectsList clone() const;
     static bool hasKeyFrames(QDomElement effect);
     static void setParameter(QDomElement effect, QString name, QString value);
 };