X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;ds=sidebyside;f=src%2Fgeometrywidget.cpp;h=7eae9fd88d833f12a51ed73132166204efa141a0;hb=052a54cda58f34e15d0f353671c9f933dd35ea10;hp=efb8613c25e4e0636a9295d2ae4d4d9e2a45fb03;hpb=8e225862f4187b61d93f6fb58ff0bd2f998a0860;p=kdenlive diff --git a/src/geometrywidget.cpp b/src/geometrywidget.cpp index efb8613c..7eae9fd8 100644 --- a/src/geometrywidget.cpp +++ b/src/geometrywidget.cpp @@ -300,12 +300,14 @@ void GeometryWidget::slotPositionChanged(int pos, bool seek) m_scene->removeItem(m_previous); } } + else if (m_previous && m_previous->scene() && m_previous->data(Qt::UserRole).toInt() == previousItem.frame()) { + // previous frame already here, do nothing + } else { if (m_previous == NULL) { m_previous = new QGraphicsRectItem(0, 0, previousItem.w(), previousItem.h()); m_previous->setBrush(QColor(200, 200, 0, 20)); m_previous->setPen(QPen(Qt::white, 0, Qt::DotLine)); - m_previous->setPos(previousItem.x(), previousItem.y()); m_previous->setZValue(-1); m_previous->setEnabled(false); @@ -314,7 +316,8 @@ void GeometryWidget::slotPositionChanged(int pos, bool seek) m_previous->setPos(previousItem.x(), previousItem.y()); m_previous->setRect(0, 0, previousItem.w(), previousItem.h()); } - m_scene->addItem(m_previous); + m_previous->setData(Qt::UserRole, previousItem.frame()); + if (m_previous->scene() == 0) m_scene->addItem(m_previous); } m_rect->setPos(item.x(), item.y());