X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fcustomtrackview.cpp;h=b23108f664542c5c4dbed6e1cad2dc11de8aa339;hb=9ac6245269dbc8f8cdb8e248958f7eaeb2aa4cbb;hp=57e84b73eb6c5e5d90da23771c3b766ae07f9e67;hpb=f60438fc4d00722c861ea5a205cf9c62d0a115d8;p=kdenlive diff --git a/src/customtrackview.cpp b/src/customtrackview.cpp index 57e84b73..b23108f6 100644 --- a/src/customtrackview.cpp +++ b/src/customtrackview.cpp @@ -87,6 +87,7 @@ #include #endif +#define SEEK_INACTIVE (-1) //#define DEBUG @@ -3371,11 +3372,12 @@ int CustomTrackView::cursorPos() void CustomTrackView::moveCursorPos(int delta) { - if (m_cursorPos + delta < 0) delta = 0 - m_cursorPos; - emit cursorMoved((int)(m_cursorPos), (int)((m_cursorPos + delta))); - m_cursorPos += delta; - m_cursorLine->setPos(m_cursorPos, 0); - m_document->renderer()->seek(m_cursorPos); + int currentPos = m_document->renderer()->requestedSeekPosition; + if (currentPos == SEEK_INACTIVE) currentPos = m_document->renderer()->seekFramePosition(); + if (currentPos + delta < 0) delta = 0 - currentPos; + currentPos += delta; + m_document->renderer()->seek(currentPos); + emit updateRuler(); } void CustomTrackView::initCursorPos(int pos)