Set item being edited earlier in wxDataViewRenderer

Partially undo the changes of e417913f46 and set
m_item in StartEditing() as it's supposed to be already set when
CreateEditorCtrl() is called and setting it in NotifyEditingStarted() was too
late for this.
This commit is contained in:
Vadim Zeitlin
2016-03-19 00:45:15 +01:00
parent 6316045e19
commit a20183440b

View File

@@ -678,6 +678,9 @@ bool wxDataViewRendererBase::StartEditing( const wxDataViewItem &item, wxRect la
if( !event.IsAllowed() )
return false;
// Remember the item being edited for use in FinishEditing() later.
m_item = item;
unsigned int col = GetOwner()->GetModelColumn();
const wxVariant& value = CheckedGetValue(dv_ctrl->GetModel(), item, col);
@@ -685,7 +688,10 @@ bool wxDataViewRendererBase::StartEditing( const wxDataViewItem &item, wxRect la
// there might be no editor control for the given item
if(!m_editorCtrl)
{
m_item = wxDataViewItem();
return false;
}
wxDataViewEditorCtrlEvtHandler *handler =
new wxDataViewEditorCtrlEvtHandler( m_editorCtrl, (wxDataViewRenderer*) this );
@@ -703,9 +709,6 @@ bool wxDataViewRendererBase::StartEditing( const wxDataViewItem &item, wxRect la
void wxDataViewRendererBase::NotifyEditingStarted(const wxDataViewItem& item)
{
// Remember the item being edited for use in FinishEditing() later.
m_item = item;
wxDataViewColumn* const column = GetOwner();
wxDataViewCtrl* const dv_ctrl = column->GetOwner();