diff --git a/toonz/sources/toonz/xsheetdragtool.cpp b/toonz/sources/toonz/xsheetdragtool.cpp index ea52e50..5166646 100644 --- a/toonz/sources/toonz/xsheetdragtool.cpp +++ b/toonz/sources/toonz/xsheetdragtool.cpp @@ -128,6 +128,12 @@ public: int col = pos.layer(); m_firstCol = col; m_firstRow = row; + // First, check switching of the selection types. This may clear the + // previous selection. + if (m_modifier & Qt::ControlModifier) + getViewer()->getCellKeyframeSelection()->makeCurrent(); + else + getViewer()->getCellSelection()->makeCurrent(); if (m_modifier & Qt::ShiftModifier) { int r0, c0, r1, c1; getViewer()->getCellSelection()->getSelectedCells(r0, c0, r1, c1); @@ -170,10 +176,6 @@ public: else getViewer()->getCellSelection()->selectCell(row, col); } - if (m_modifier & Qt::ControlModifier) - getViewer()->getCellKeyframeSelection()->makeCurrent(); - else - getViewer()->getCellSelection()->makeCurrent(); refreshCellsArea(); refreshRowsArea(); }