]> git.sesse.net Git - kdenlive/blobdiff - src/rotoscoping/rotowidget.cpp
Merge branch 'refs/heads/v0.8.2'
[kdenlive] / src / rotoscoping / rotowidget.cpp
index 415b5e82f7043374febcfa5a9e57836cad38db34..fa4304cb4b2d1991f21a3295d3e6d66b8eea6f2e 100644 (file)
@@ -141,7 +141,12 @@ void RotoWidget::slotUpdateData(int pos, bool editing)
         map[QString::number((pos < 0 ? m_keyframeWidget->getPosition() : pos) + m_in).rightJustified(log10((double)m_out) + 1, '0')] = QVariant(vlist);
         m_data = QVariant(map);
     } else {
+        // timeline update is only required if the first keyframe did not exist yet
+        bool update = m_data.isNull();
         m_data = QVariant(vlist);
+        if (update) {
+            keyframeTimelineFullUpdate();
+        }
     }
 
     emit valueChanged();
@@ -329,7 +334,10 @@ void RotoWidget::keyframeTimelineFullUpdate()
         m_data = QVariant(map);*/
     } else {
         // static (only one keyframe)
-        m_keyframeWidget->setKeyframes(QList <int>() << 0);
+        // make sure the first keyframe was already created
+        if (m_data.isValid()) {
+            m_keyframeWidget->setKeyframes(QList <int>() << 0);
+        }
     }
 }