From cea8e60dea26e49bc35e7ad7295d6de65c9b246a Mon Sep 17 00:00:00 2001 From: Paul Cornett Date: Mon, 18 Jan 2021 22:24:39 -0800 Subject: [PATCH] Don't set focus from wxTimePickerCtrl::SetValue() on GTK Match the wxMSW behavior. See #19047 --- src/generic/timectrlg.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/generic/timectrlg.cpp b/src/generic/timectrlg.cpp index 0f8c509989..1363bfdd5c 100644 --- a/src/generic/timectrlg.cpp +++ b/src/generic/timectrlg.cpp @@ -72,6 +72,7 @@ public: m_btn = new wxSpinButton(ctrl, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSP_VERTICAL | wxSP_WRAP); + m_btn->SetCanFocus(false); m_currentField = Field_Hour; m_isFirstDigit = true; @@ -306,11 +307,13 @@ private: void OnArrowUp(wxSpinEvent& WXUNUSED(event)) { + m_text->SetFocus(); ChangeCurrentFieldBy1(Dir_Up); } void OnArrowDown(wxSpinEvent& WXUNUSED(event)) { + m_text->SetFocus(); ChangeCurrentFieldBy1(Dir_Down); } @@ -370,8 +373,6 @@ private: // Select the currently actively field. void HighlightCurrentField() { - m_text->SetFocus(); - const CharRange range = GetFieldRange(m_currentField); m_text->SetSelection(range.from, range.to);