]> git.sesse.net Git - kdenlive/commitdiff
Fix crash when using spacer tool and no clip moving
authorJean-Baptiste Mardelle <jb@kdenlive.org>
Wed, 17 Jun 2009 21:03:59 +0000 (21:03 +0000)
committerJean-Baptiste Mardelle <jb@kdenlive.org>
Wed, 17 Jun 2009 21:03:59 +0000 (21:03 +0000)
svn path=/trunk/kdenlive/; revision=3562

src/customtrackview.cpp

index eb98da0862813b1c1c5fde32da1a6f46ac1a9a4d..e17a3228884a382c8ba5c806e2d7a193a5a46090 100644 (file)
@@ -363,7 +363,7 @@ void CustomTrackView::mouseMoveEvent(QMouseEvent * event)
             m_visualTip = NULL;
             QGraphicsView::mouseMoveEvent(event);
             return;
-        } else if (m_operationMode == SPACER && move) {
+        } else if (m_operationMode == SPACER && move && m_selectionGroup) {
             // spacer tool
             int mappedClick = (int)(mapToScene(m_clickEvent).x() + 0.5);
             m_selectionGroup->setPos(mappedXPos + (((int) m_selectionGroup->boundingRect().topLeft().x() + 0.5) - mappedClick) , m_selectionGroup->pos().y());
@@ -713,7 +713,7 @@ void CustomTrackView::mousePressEvent(QMouseEvent * event)
 
     // No item under click
     if (m_dragItem == NULL || m_tool == SPACERTOOL) {
-        resetSelectionGroup();
+        resetSelectionGroup(false);
         setCursor(Qt::ArrowCursor);
         m_scene->clearSelection();
         //event->accept();
@@ -733,9 +733,6 @@ void CustomTrackView::mousePressEvent(QMouseEvent * event)
                 kDebug() << "SELELCTING ELEMENTS WITHIN =" << event->pos().x() << "/" <<  1 << ", " << mapFromScene(sceneRect().width(), 0).x() - event->pos().x() << "/" << sceneRect().height();
             }
 
-            resetSelectionGroup(false);
-            m_scene->clearSelection();
-
             for (int i = 0; i < selection.count(); i++) {
                 if (selection.at(i)->type() == AVWIDGET || selection.at(i)->type() == TRANSITIONWIDGET || selection.at(i)->type() == GROUPWIDGET) {
                     selection.at(i)->setSelected(true);
@@ -2239,7 +2236,7 @@ void CustomTrackView::mouseReleaseEvent(QMouseEvent * event)
         m_dragGuide = NULL;
         m_dragItem = NULL;
         return;
-    } else if (m_operationMode == SPACER) {
+    } else if (m_operationMode == SPACER && m_selectionGroup) {
         int track;
         if (event->modifiers() != Qt::ControlModifier) {
             // We are moving all tracks