In wxPropertyGrid::HandleCustomEditorEvent(), also filter out excess wxEVT_COMMAND_TEXT_UPDATED events that originated from wxComboCtrl-derived editors.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62938 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Jaakko Salli 2009-12-19 11:13:03 +00:00
parent fab9753681
commit 3020453f5a

View File

@ -3377,17 +3377,26 @@ void wxPropertyGrid::HandleCustomEditorEvent( wxEvent &event )
//
// Filter out excess wxTextCtrl modified events
if ( event.GetEventType() == wxEVT_COMMAND_TEXT_UPDATED &&
wnd &&
wnd->IsKindOf(CLASSINFO(wxTextCtrl)) )
if ( event.GetEventType() == wxEVT_COMMAND_TEXT_UPDATED && wnd )
{
wxTextCtrl* tc = (wxTextCtrl*) wnd;
if ( wnd->IsKindOf(CLASSINFO(wxTextCtrl)) )
{
wxTextCtrl* tc = (wxTextCtrl*) wnd;
wxString newTcValue = tc->GetValue();
if ( m_prevTcValue == newTcValue )
return;
wxString newTcValue = tc->GetValue();
if ( m_prevTcValue == newTcValue )
return;
m_prevTcValue = newTcValue;
}
else if ( wnd->IsKindOf(CLASSINFO(wxComboCtrl)) )
{
wxComboCtrl* cc = (wxComboCtrl*) wnd;
m_prevTcValue = newTcValue;
wxString newTcValue = cc->GetTextCtrl()->GetValue();
if ( m_prevTcValue == newTcValue )
return;
m_prevTcValue = newTcValue;
}
}
SetInternalFlag(wxPG_FL_IN_HANDLECUSTOMEDITOREVENT);