From cc030eab7206e081ce1a375ffc252ae02b3b282a Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Thu, 12 Jul 2012 18:34:18 +0000 Subject: [PATCH] Fix item data access in wxDataViewListCtrl. Map items to rows correctly, just using wxPtrToUInt()-1 is not the right thing to do if any items were deleted or changed. Closes #14479. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72048 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- docs/changes.txt | 9 ++++++++- src/common/datavcmn.cpp | 4 ++-- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/docs/changes.txt b/docs/changes.txt index e05f13fffe..df139d41d0 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -524,7 +524,14 @@ Major new features in this release was added. -2.9.4: (release 2012-07-09) +2.9.5: (released ????-??-??) + +All (GUI): + +- Fix item data access in wxDataViewListCtrl (Kry). + + +2.9.4: (released 2012-07-09) ------ INCOMPATIBLE CHANGES SINCE 2.9.3 diff --git a/src/common/datavcmn.cpp b/src/common/datavcmn.cpp index 1dcf8a1005..881fc24cd1 100644 --- a/src/common/datavcmn.cpp +++ b/src/common/datavcmn.cpp @@ -1768,7 +1768,7 @@ void wxDataViewListStore::DeleteAllItems() void wxDataViewListStore::SetItemData( const wxDataViewItem& item, wxUIntPtr data ) { - wxDataViewListStoreLine* line = m_data[wxPtrToUInt( item.GetID() ) - 1]; + wxDataViewListStoreLine* line = m_data[GetRow(item)]; if (!line) return; line->SetData( data ); @@ -1776,7 +1776,7 @@ void wxDataViewListStore::SetItemData( const wxDataViewItem& item, wxUIntPtr dat wxUIntPtr wxDataViewListStore::GetItemData( const wxDataViewItem& item ) const { - wxDataViewListStoreLine* line = m_data[wxPtrToUInt( item.GetID() ) - 1]; + wxDataViewListStoreLine* line = m_data[GetRow(item)]; if (!line) return static_cast(NULL); return line->GetData(); -- 2.45.2