Don't reset wxPGProperty editor if focus is switched between its components

As long as focus is being switched only between subcontrols of the active editor the state of the edited wxPGProperty remains unchanged and there is no need to explicitly reset the editor.
Unwanted editor resets could happen if such internal focus changes would be captured in EVT_IDLE handler.

Closes #18162.
This commit is contained in:
Artur Wieczorek 2018-11-01 18:11:57 +01:00
parent dc0cf732a2
commit 5fbe3cab76
2 changed files with 6 additions and 1 deletions

View File

@ -5,7 +5,7 @@ root = true
[*] [*]
charset = utf-8 charset = utf-8
end_of_line = lf end_of_line = crlf
insert_final_newline = true insert_final_newline = true
indent_style = space indent_style = space
indent_size = 4 indent_size = 4

View File

@ -5961,6 +5961,11 @@ void wxPropertyGrid::HandleFocusChange( wxWindow* newFocused )
{ {
if ( parent == wndEditor ) if ( parent == wndEditor )
{ {
// If editor is active consider focus set on its components
// as a focus set on the editor itself (to prevent doing actions
// when focus is switched between subcontrols of a compound
// editor like e.g. wxComboCtrl).
newFocused = wndEditor;
wasEditorFocused = true; wasEditorFocused = true;
} }
// Use m_eventObject, which is either wxPropertyGrid or // Use m_eventObject, which is either wxPropertyGrid or