Fix missing selection event in generic wxDataViewCtrl

No event was sent if the selection was narrowed by clicking on an
already selected item without any key modifiers pressed.

Fix this by generating an event always on click and not only when
selecting a new item.

Closes #17881.
This commit is contained in:
mikek
2018-02-01 01:14:18 +01:00
committed by Vadim Zeitlin
parent 0d14dd8fe0
commit f1087d7fd5
2 changed files with 3 additions and 2 deletions

View File

@@ -248,6 +248,7 @@ wxMSW:
- Fix focus-related problems when using native wxProgressDialog. - Fix focus-related problems when using native wxProgressDialog.
- Fix crash when reparenting the currently focused window to another TLW. - Fix crash when reparenting the currently focused window to another TLW.
- Fix sending wxEVT_TEXT_ENTER when using auto-completion (Dubby). - Fix sending wxEVT_TEXT_ENTER when using auto-completion (Dubby).
- Fix missing selection event on click in multiselection wxDataViewCtrl (mikek).
wxOSX: wxOSX:

View File

@@ -4728,9 +4728,9 @@ void wxDataViewMainWindow::OnMouse( wxMouseEvent &event )
if ( UnselectAllRows(m_lineSelectSingleOnUp) ) if ( UnselectAllRows(m_lineSelectSingleOnUp) )
{ {
SelectRow( m_lineSelectSingleOnUp, true ); SelectRow( m_lineSelectSingleOnUp, true );
SendSelectionChangedEvent( GetItemByRow(m_lineSelectSingleOnUp) );
} }
//else: it was already selected, nothing to do
SendSelectionChangedEvent( GetItemByRow(m_lineSelectSingleOnUp) );
} }
// If the user click the expander, we do not do editing even if the column // If the user click the expander, we do not do editing even if the column