X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b18e2046af6c8eaf6e867ba18dd9410dbd7dfcf7..35d85392ff011bc8d24b036ede54e69ab557ed32:/src/osx/carbon/listctrl_mac.cpp diff --git a/src/osx/carbon/listctrl_mac.cpp b/src/osx/carbon/listctrl_mac.cpp index d2e4faf977..40b6d36198 100644 --- a/src/osx/carbon/listctrl_mac.cpp +++ b/src/osx/carbon/listctrl_mac.cpp @@ -616,7 +616,8 @@ void wxListCtrl::OnLeftDown(wxMouseEvent& event) void wxListCtrl::OnDblClick(wxMouseEvent& event) { - m_current = -1; + if ( m_renameTimer->IsRunning() ) + m_renameTimer->Stop(); event.Skip(); } @@ -1128,6 +1129,8 @@ bool wxListCtrl::GetItem(wxListItem& info) const if (info.m_itemId >= 0 && info.m_itemId < GetItemCount()) { m_dbImpl->MacGetColumnInfo(info.m_itemId, info.m_col, info); + // MacGetColumnInfo returns erroneous information in the state field, so zero it. + info.SetState(0); if (info.GetMask() & wxLIST_MASK_STATE) { DataBrowserItemID id = (DataBrowserItemID)m_dbImpl->GetItemFromLine(info.m_itemId); @@ -1654,6 +1657,9 @@ long wxListCtrl::GetNextItem(long item, int geom, int state) const if ( !IsVirtual() ) id = (DataBrowserItemID)m_dbImpl->GetItemFromLine(line); + if ( (state & wxLIST_STATE_FOCUSED) && (m_current == line)) + return line; + if ( (state == wxLIST_STATE_DONTCARE ) ) return line; @@ -1674,6 +1680,9 @@ long wxListCtrl::GetNextItem(long item, int geom, int state) const if ( !IsVirtual() ) id = (DataBrowserItemID)m_dbImpl->GetItemFromLine(line); + if ( (state & wxLIST_STATE_FOCUSED) && (m_current == line)) + return line; + if ( (state == wxLIST_STATE_DONTCARE ) ) return line; @@ -1785,6 +1794,7 @@ bool wxListCtrl::DeleteItem(long item) // Deletes all items bool wxListCtrl::DeleteAllItems() { + m_current = -1; if (m_genericImpl) return m_genericImpl->DeleteAllItems(); @@ -2682,7 +2692,7 @@ void wxMacDataBrowserListCtrlControl::DrawItem( int imgIndex = -1; DataBrowserTableViewColumnIndex listColumn = 0; - OSStatus err = GetColumnPosition( property, &listColumn ); + GetColumnPosition( property, &listColumn ); wxListCtrl* list = wxDynamicCast( GetWXPeer() , wxListCtrl ); wxMacListCtrlItem* lcItem;