Use wxUIntPtr instead of wxClientData in wxDataViewListCtrl.
Do not delete the client data in wxDataViewListCtrl, this class mainly exists for compatibility with wxListCtrl and as the latter doesn't delete its client data, neither should the former. See #11088. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@71561 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -939,24 +939,20 @@ typedef void (wxEvtHandler::*wxDataViewEventFunction)(wxDataViewEvent&);
|
||||
class WXDLLIMPEXP_ADV wxDataViewListStoreLine
|
||||
{
|
||||
public:
|
||||
wxDataViewListStoreLine( wxClientData *data = NULL )
|
||||
wxDataViewListStoreLine( wxUIntPtr data = NULL )
|
||||
{
|
||||
m_data = data;
|
||||
}
|
||||
virtual ~wxDataViewListStoreLine()
|
||||
{
|
||||
delete m_data;
|
||||
}
|
||||
|
||||
void SetData( wxClientData *data )
|
||||
{ if (m_data) delete m_data; m_data = data; }
|
||||
wxClientData *GetData() const
|
||||
void SetData( wxUIntPtr data )
|
||||
{ m_data = data; }
|
||||
wxUIntPtr GetData() const
|
||||
{ return m_data; }
|
||||
|
||||
wxVector<wxVariant> m_values;
|
||||
|
||||
private:
|
||||
wxClientData *m_data;
|
||||
wxUIntPtr m_data;
|
||||
};
|
||||
|
||||
|
||||
@@ -970,9 +966,9 @@ public:
|
||||
void InsertColumn( unsigned int pos, const wxString &varianttype );
|
||||
void AppendColumn( const wxString &varianttype );
|
||||
|
||||
void AppendItem( const wxVector<wxVariant> &values, wxClientData *data = NULL );
|
||||
void PrependItem( const wxVector<wxVariant> &values, wxClientData *data = NULL );
|
||||
void InsertItem( unsigned int row, const wxVector<wxVariant> &values, wxClientData *data = NULL );
|
||||
void AppendItem( const wxVector<wxVariant> &values, wxUIntPtr data = NULL );
|
||||
void PrependItem( const wxVector<wxVariant> &values, wxUIntPtr data = NULL );
|
||||
void InsertItem( unsigned int row, const wxVector<wxVariant> &values, wxUIntPtr data = NULL );
|
||||
void DeleteItem( unsigned int pos );
|
||||
void DeleteAllItems();
|
||||
|
||||
@@ -1052,11 +1048,11 @@ public:
|
||||
wxDataViewCellMode mode = wxDATAVIEW_CELL_INERT,
|
||||
int width = -1, wxAlignment align = wxALIGN_LEFT, int flags = wxDATAVIEW_COL_RESIZABLE );
|
||||
|
||||
void AppendItem( const wxVector<wxVariant> &values, wxClientData *data = NULL )
|
||||
void AppendItem( const wxVector<wxVariant> &values, wxUIntPtr data = NULL )
|
||||
{ GetStore()->AppendItem( values, data ); }
|
||||
void PrependItem( const wxVector<wxVariant> &values, wxClientData *data = NULL )
|
||||
void PrependItem( const wxVector<wxVariant> &values, wxUIntPtr data = NULL )
|
||||
{ GetStore()->PrependItem( values, data ); }
|
||||
void InsertItem( unsigned int row, const wxVector<wxVariant> &values, wxClientData *data = NULL )
|
||||
void InsertItem( unsigned int row, const wxVector<wxVariant> &values, wxUIntPtr data = NULL )
|
||||
{ GetStore()->InsertItem( row, values, data ); }
|
||||
void DeleteItem( unsigned row )
|
||||
{ GetStore()->DeleteItem( row ); }
|
||||
|
Reference in New Issue
Block a user