diff --git a/src/ui/simple/CSimpleEditBox.cpp b/src/ui/simple/CSimpleEditBox.cpp index 8171f22..00e73c3 100644 --- a/src/ui/simple/CSimpleEditBox.cpp +++ b/src/ui/simple/CSimpleEditBox.cpp @@ -996,6 +996,14 @@ void CSimpleEditBox::OnLayerHide() { CSimpleEditBox::ClearKeyboardFocus(this, true); } +void CSimpleEditBox::OnLayerShow() { + CSimpleFrame::OnLayerShow(); + + if (!CSimpleEditBox::s_currentFocus && this->m_autoFocus) { + CSimpleEditBox::SetKeyboardFocus(this); + } +} + void CSimpleEditBox::OnLayerUpdate(float elapsedSec) { CSimpleFrame::OnLayerUpdate(elapsedSec); diff --git a/src/ui/simple/CSimpleEditBox.hpp b/src/ui/simple/CSimpleEditBox.hpp index d0bb69c..f81696a 100644 --- a/src/ui/simple/CSimpleEditBox.hpp +++ b/src/ui/simple/CSimpleEditBox.hpp @@ -92,6 +92,7 @@ class CSimpleEditBox : public CSimpleFrame, CSimpleFontedFrame { virtual int32_t OnLayerMouseDown(const CMouseEvent& evt, const char* btn); virtual int32_t OnLayerMouseUp(const CMouseEvent& evt, const char* btn); virtual void OnLayerHide(); + virtual void OnLayerShow(); virtual void FontUpdated(CSimpleFontedFrameFont* font, int32_t a3); // Member functions