Fix making the wrong wxGrid cell visible when selecting

We should make visible the cell of the corner of the current selected block.

Also fix names of the wxGrid::UpdateBlockBeingSelected parameters because
actually passed сщщквы are of any opposite selection block corners.
This commit is contained in:
Ilya Sinitsyn
2020-01-28 23:40:21 +07:00
committed by Vadim Zeitlin
parent 55efc9e607
commit d455c5b99e
2 changed files with 14 additions and 12 deletions

View File

@@ -5822,11 +5822,16 @@ bool wxGrid::SetCurrentCell( const wxGridCellCoords& coords )
}
void
wxGrid::UpdateBlockBeingSelected(int topRow, int leftCol,
int bottomRow, int rightCol)
wxGrid::UpdateBlockBeingSelected(int blockStartRow, int blockStartCol,
int blockEndRow, int blockEndCol)
{
m_selectedBlockCorner = wxGridCellCoords(blockEndRow, blockEndCol);
MakeCellVisible(m_selectedBlockCorner);
m_selectedBlockCorner = wxGridCellCoords(bottomRow, rightCol);
int topRow = wxMin(blockStartRow, blockEndRow);
int leftCol = wxMin(blockStartCol, blockEndCol);
int bottomRow = wxMax(blockStartRow, blockEndRow);
int rightCol = wxMax(blockStartCol, blockEndCol);
if ( m_selection )
{
@@ -5864,9 +5869,6 @@ wxGrid::UpdateBlockBeingSelected(int topRow, int leftCol,
}
}
EnsureFirstLessThanSecond(topRow, bottomRow);
EnsureFirstLessThanSecond(leftCol, rightCol);
wxGridCellCoords updateTopLeft = wxGridCellCoords(topRow, leftCol),
updateBottomRight = wxGridCellCoords(bottomRow, rightCol);