X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ce17501854573f9c95cc04e6eb344d3a3912f7c0..e015e7f3acef09b57bcd34e8f6780a19afdfd97b:/src/generic/listctrl.cpp diff --git a/src/generic/listctrl.cpp b/src/generic/listctrl.cpp index 5c5a6b521c..a51113da01 100644 --- a/src/generic/listctrl.cpp +++ b/src/generic/listctrl.cpp @@ -837,11 +837,7 @@ protected: // get the colour to be used for drawing the rules wxColour GetRuleColour() const { -#ifdef __WXMAC__ - return *wxWHITE; -#else return wxSystemSettings::GetColour(wxSYS_COLOUR_3DLIGHT); -#endif } private: @@ -1932,7 +1928,7 @@ void wxListHeaderWindow::OnMouse( wxMouseEvent &event ) // end of the current column int xpos = 0; - // find the column where this event occured + // find the column where this event occurred int col, countCol = m_owner->GetColumnCount(); for (col = 0; col < countCol; col++) @@ -3014,11 +3010,11 @@ void wxListMainWindow::OnMouse( wxMouseEvent &event ) HighlightAll( false ); ReverseHighlight(m_lineSelectSingleOnUp); } - else if (m_lastOnSame) + if (m_lastOnSame) { if ((current == m_current) && (hitResult == wxLIST_HITTEST_ONITEMLABEL) && - HasFlag(wxLC_EDIT_LABELS) ) + HasFlag(wxLC_EDIT_LABELS) ) { m_renameTimer->Start( 100, true ); } @@ -3028,7 +3024,7 @@ void wxListMainWindow::OnMouse( wxMouseEvent &event ) } else { - // This is neccessary , because after a DnD operation in + // This is necessary, because after a DnD operation in // from and to ourself, the up event is swallowed by the // DnD code. So on next non-up event (which means here and // now) m_lineSelectSingleOnUp should be reset. @@ -3061,6 +3057,8 @@ void wxListMainWindow::OnMouse( wxMouseEvent &event ) m_lineLastClicked = current; size_t oldCurrent = m_current; + bool oldWasSelected = IsHighlighted(m_current); + bool cmdModifierDown = event.CmdDown(); if ( IsSingleSel() || !(cmdModifierDown || event.ShiftDown()) ) { @@ -3114,7 +3112,7 @@ void wxListMainWindow::OnMouse( wxMouseEvent &event ) } // forceClick is only set if the previous click was on another item - m_lastOnSame = !forceClick && (m_current == oldCurrent); + m_lastOnSame = !forceClick && (m_current == oldCurrent) && oldWasSelected; } }