sc/source/ui/app/inputwin.cxx | 8 +++++++- sc/source/ui/inc/inputwin.hxx | 2 ++ 2 files changed, 9 insertions(+), 1 deletion(-)
New commits: commit 7dc697addd0895b8aee0c051c0d4d4125414f012 Author: Caolán McNamara <caolan.mcnam...@collabora.com> AuthorDate: Wed Jul 26 09:29:18 2023 +0100 Commit: Caolán McNamara <caolan.mcnam...@collabora.com> CommitDate: Wed Jul 26 12:26:30 2023 +0200 Resolves: tdf#155716 grab focus when context menu is activated Change-Id: I194aba413d5adf07c8d78823f2f9a086f95cf248 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/154933 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolan.mcnam...@collabora.com> diff --git a/sc/source/ui/app/inputwin.cxx b/sc/source/ui/app/inputwin.cxx index 2c46b93db54d..70dee0e453fd 100644 --- a/sc/source/ui/app/inputwin.cxx +++ b/sc/source/ui/app/inputwin.cxx @@ -1685,7 +1685,7 @@ bool ScTextWnd::CanFocus() const return SC_MOD()->IsEditMode(); } -bool ScTextWnd::MouseButtonDown( const MouseEvent& rMEvt ) +void ScTextWnd::UpdateFocus() { if (!HasFocus()) { @@ -1693,6 +1693,11 @@ bool ScTextWnd::MouseButtonDown( const MouseEvent& rMEvt ) if (CanFocus()) TextGrabFocus(); } +} + +bool ScTextWnd::MouseButtonDown( const MouseEvent& rMEvt ) +{ + UpdateFocus(); bool bClickOnSelection = false; if (m_xEditView) @@ -1808,6 +1813,7 @@ bool ScTextWnd::Command( const CommandEvent& rCEvt ) } if (IsMouseCaptured()) ReleaseMouse(); + UpdateFocus(); pViewFrm->GetDispatcher()->ExecutePopup("formulabar", &mrGroupBar.GetVclParent(), &aPos); } } diff --git a/sc/source/ui/inc/inputwin.hxx b/sc/source/ui/inc/inputwin.hxx index 500ab23eb790..7d058af9da0a 100644 --- a/sc/source/ui/inc/inputwin.hxx +++ b/sc/source/ui/inc/inputwin.hxx @@ -135,6 +135,8 @@ private: void InitEditEngine(); + void UpdateFocus(); + rtl::Reference<svt::OStringTransferable> m_xHelper; typedef ::std::vector< ScAccessibleEditLineTextData* > AccTextDataVector;