From f0d194dc8a14205d71037201fadd78b5ddd6c82a Mon Sep 17 00:00:00 2001 From: Jean-Baptiste Mardelle Date: Thu, 1 Oct 2009 11:48:21 +0000 Subject: [PATCH] Fix possible crash when moving invalid clip: http://kdenlive.org/mantis/view.php?id=1169 svn path=/trunk/kdenlive/; revision=3970 --- src/renderer.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/renderer.cpp b/src/renderer.cpp index 904e9430..8a5289d5 100644 --- a/src/renderer.cpp +++ b/src/renderer.cpp @@ -2768,10 +2768,10 @@ bool Render::mltMoveClip(int startTrack, int endTrack, int moveStart, int moveEn bool checkLength = false; if (endTrack == startTrack) { Mlt::Producer *clipProducer = trackPlaylist.replace_with_blank(clipIndex); - if (!trackPlaylist.is_blank_at(moveEnd) || clipProducer->is_blank()) { + if (!trackPlaylist.is_blank_at(moveEnd) || !clipProducer || clipProducer->is_blank()) { // error, destination is not empty if (!trackPlaylist.is_blank_at(moveEnd)) trackPlaylist.insert_at(moveStart, clipProducer, 1); - delete clipProducer; + if (clipProducer) delete clipProducer; //int ix = trackPlaylist.get_clip_index_at(moveEnd); kDebug() << "// ERROR MOVING CLIP TO : " << moveEnd; mlt_service_unlock(service.get_service()); @@ -2797,10 +2797,10 @@ bool Render::mltMoveClip(int startTrack, int endTrack, int moveStart, int moveEn return false; } else { Mlt::Producer *clipProducer = trackPlaylist.replace_with_blank(clipIndex); - if (clipProducer->is_blank()) { + if (!clipProducer || clipProducer->is_blank()) { // error, destination is not empty //int ix = trackPlaylist.get_clip_index_at(moveEnd); - delete clipProducer; + if (clipProducer) delete clipProducer; kDebug() << "// ERROR MOVING CLIP TO : " << moveEnd; mlt_service_unlock(service.get_service()); m_isBlocked--; -- 2.39.5