From: Jaakko Salli Date: Sat, 10 Jul 2010 15:40:33 +0000 (+0000) Subject: Do not run focus detection when handling events from editor control (mostly because... X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/f18b71b07e26c41bb94b80939e874bdc51078acf?ds=sidebyside Do not run focus detection when handling events from editor control (mostly because they may be showing a dialog) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64868 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/src/propgrid/propgrid.cpp b/src/propgrid/propgrid.cpp index 5b65f982c6..e61b261d98 100644 --- a/src/propgrid/propgrid.cpp +++ b/src/propgrid/propgrid.cpp @@ -5844,6 +5844,13 @@ bool wxPropertyGrid::IsEditorFocused() const // Called by focus event handlers. newFocused is the window that becomes focused. void wxPropertyGrid::HandleFocusChange( wxWindow* newFocused ) { + // + // Never allow focus to be changed when handling editor event. + // Especially because they may be displaing a dialog which + // could cause all kinds of weird (native) focus changes. + if ( HasInternalFlag(wxPG_FL_IN_HANDLECUSTOMEDITOREVENT) ) + return; + unsigned int oldFlags = m_iFlags; bool wasEditorFocused = false; wxWindow* wndEditor = m_wndEditor;