From 462f9157547a00e0afe7cb2e5839e018b55f0b9f Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Thu, 21 Mar 2024 18:36:44 -0700 Subject: [PATCH] BAGEL: Fix save dialog edit text increasing as selection changes --- engines/bagel/baglib/save_dialog.cpp | 13 ++++--------- engines/bagel/boflib/gui/edit_text.cpp | 3 +-- engines/bagel/boflib/gui/list_box.cpp | 2 -- 3 files changed, 5 insertions(+), 13 deletions(-) diff --git a/engines/bagel/baglib/save_dialog.cpp b/engines/bagel/baglib/save_dialog.cpp index 9d9a83978ec..aabbc27fb68 100644 --- a/engines/bagel/baglib/save_dialog.cpp +++ b/engines/bagel/baglib/save_dialog.cpp @@ -441,11 +441,8 @@ VOID CBagSaveDialog::OnBofButton(CBofObject *pObject, INT nFlags) { VOID CBagSaveDialog::OnBofListBox(CBofObject * /*pObject*/, INT nItemIndex) { Assert(IsValidObject(this)); -#if BOF_MAC - // Hack to make sure that our edit text box remains the sole - // getter of keydown events. - m_bResetFocus = TRUE; -#endif + // Reset the focus away from the text field if set + ReleaseFocus(); // There is only one list box on this dialog if (m_pListBox != nullptr) { @@ -454,12 +451,10 @@ VOID CBagSaveDialog::OnBofListBox(CBofObject * /*pObject*/, INT nItemIndex) { // Show selected item in the Edit control if (m_pEditText != nullptr) { + m_pEditText->SetFocus(); m_pEditText->SetText(m_pListBox->GetText(nItemIndex)); -#if BOF_MAC - m_pEditText->OnSelect(); - m_pEditText->UpdateWindow(); -#endif } + m_nSelectedItem = nItemIndex; } diff --git a/engines/bagel/boflib/gui/edit_text.cpp b/engines/bagel/boflib/gui/edit_text.cpp index ce7dec3e595..0e74fbdc844 100644 --- a/engines/bagel/boflib/gui/edit_text.cpp +++ b/engines/bagel/boflib/gui/edit_text.cpp @@ -129,8 +129,7 @@ VOID CBofEditText::OnKeyHit(ULONG lKey, ULONG lRepCount) { CBofRect rect = CalculateTextRect(this, &tmp, 12, 0); if ((m_cRect.Width() - rect.Width()) > 10) { - _text = tmp; - UpdateWindow(); + SetText(tmp); } } else if (lKey == BKEY_BACK && !_text.IsEmpty()) { diff --git a/engines/bagel/boflib/gui/list_box.cpp b/engines/bagel/boflib/gui/list_box.cpp index c20f00b3649..c210b7555e0 100644 --- a/engines/bagel/boflib/gui/list_box.cpp +++ b/engines/bagel/boflib/gui/list_box.cpp @@ -212,8 +212,6 @@ VOID CBofListBox::OnLButtonDown(UINT /*nFlags*/, CBofPoint *pPoint, void *) { _parent->OnBofListBox(this, nIndex); } } - - SetFocus(); }