]> git.sesse.net Git - kdenlive/commitdiff
Fix possible crash on invalid clip:
authorJean-Baptiste Mardelle <jb@kdenlive.org>
Tue, 4 Sep 2012 20:03:42 +0000 (22:03 +0200)
committerJean-Baptiste Mardelle <jb@kdenlive.org>
Tue, 4 Sep 2012 20:03:42 +0000 (22:03 +0200)
http://kdenlive.org/mantis/view.php?id=2714

src/clipitem.cpp

index ba8cb455666ff5a8b6ef6a81511c2f1c678c91f2..e3d7804976654c04db9f28df211c20e240651fe5 100644 (file)
@@ -1060,7 +1060,8 @@ void ClipItem::resetFrameWidth(int width)
 QList <GenTime> ClipItem::snapMarkers() const
 {
     QList < GenTime > snaps;
-    QList < GenTime > markers = baseClip()->snapMarkers();
+    if (!m_clip) return snaps;
+    QList < GenTime > markers = m_clip->snapMarkers();
     GenTime pos;
 
     for (int i = 0; i < markers.size(); i++) {
@@ -1076,7 +1077,8 @@ QList <GenTime> ClipItem::snapMarkers() const
 QList <CommentedTime> ClipItem::commentedSnapMarkers() const
 {
     QList < CommentedTime > snaps;
-    QList < CommentedTime > markers = baseClip()->commentedSnapMarkers();
+    if (!m_clip) return snaps;
+    QList < CommentedTime > markers = m_clip->commentedSnapMarkers();
     GenTime pos;
 
     for (int i = 0; i < markers.size(); i++) {
@@ -1652,8 +1654,8 @@ void ClipItem::setSpeed(const double speed, const int strobe)
     if (m_speed <= 0 && m_speed > -1)
         m_speed = -1.0;
     m_strobe = strobe;
-    if (m_speed == 1.0) m_clipName = baseClip()->name();
-    else m_clipName = baseClip()->name() + " - " + QString::number(speed * 100, 'f', 0) + '%';
+    if (m_speed == 1.0) m_clipName = m_clip->name();
+    else m_clipName = m_clip->name() + " - " + QString::number(speed * 100, 'f', 0) + '%';
     m_info.cropStart = GenTime((int)(m_speedIndependantInfo.cropStart.frames(m_fps) / qAbs(m_speed) + 0.5), m_fps);
     m_info.cropDuration = GenTime((int)(m_speedIndependantInfo.cropDuration.frames(m_fps) / qAbs(m_speed) + 0.5), m_fps);
     //update();