Skip to content

Commit

Permalink
Fix cases where dragging could initiate a swap from the same layer
Browse files Browse the repository at this point in the history
  • Loading branch information
MrStevns committed Sep 10, 2024
1 parent 9eb6c32 commit 701b11d
Showing 1 changed file with 10 additions and 2 deletions.
12 changes: 10 additions & 2 deletions app/src/timelinelayerlist.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -255,14 +255,22 @@ void TimeLineLayerList::onCellDragged(const DragEvent& event, const TimeLineLaye
emit cellDraggedY(event, y);
break;
}
// mToLayer = mFromLayer;
case DragEvent::DRAGGING: {
mGutterPositionY = getLayerGutterYPosition(y);
emit cellDraggedY(event, y);
break;
}
case DragEvent::ENDED: {
int dragToNumber = getLayerNumber(mGutterPositionY - (mLayerHeight * 0.5));
int dragToNumber = mFromLayer;
int fromLayerDragY = getLayerCellY(mFromLayer);
if (fromLayerDragY > mGutterPositionY) {
// If we're starting from above, adjust the drag number so we're one cell above
dragToNumber = getLayerNumber(mGutterPositionY + (mLayerHeight * 0.5));
} else if (fromLayerDragY < mGutterPositionY) {
// If we're starting from below, adjust the drag number so we're one cell below
dragToNumber = getLayerNumber(mGutterPositionY - (mLayerHeight * 0.5));
}

if (!mScrollingVertically && dragToNumber != mFromLayer && dragToNumber > -1)
{
if (dragToNumber < mEditor->layers()->count())
Expand Down

0 comments on commit 701b11d

Please sign in to comment.