diff --git a/docs/changes.txt b/docs/changes.txt index 06d3ea135e..18dbb35f87 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -131,6 +131,7 @@ wxGTK: - Don't unconditionally add wxCAPTION style to wxMiniFrame. - Fixed crash in file and dir pickers for GTK+ < 2.6 if compiled with GTK+ >= 2.6. +- Generate wxEVT_COMMAND_LIST_END_LABEL_EDIT event even if label didn't change wxMac: diff --git a/src/generic/listctrl.cpp b/src/generic/listctrl.cpp index dfb59b2ea7..bc8b0f291b 100644 --- a/src/generic/listctrl.cpp +++ b/src/generic/listctrl.cpp @@ -2160,16 +2160,17 @@ bool wxListTextCtrlWrapper::AcceptChanges() { const wxString value = m_text->GetValue(); - if ( value == m_startValue ) - // nothing changed, always accept - return true; - + // notice that we should always call OnRenameAccept() to generate the "end + // label editing" event, even if the user hasn't really changed anything if ( !m_owner->OnRenameAccept(m_itemEdited, value) ) + { // vetoed by the user return false; + } - // accepted, do rename the item - m_owner->SetItemText(m_itemEdited, value); + // accepted, do rename the item (unless nothing changed) + if ( value != m_startValue ) + m_owner->SetItemText(m_itemEdited, value); return true; }