sw/source/uibase/utlui/glbltree.cxx | 10 ++++++++++ 1 file changed, 10 insertions(+)
New commits: commit 2d25e03bb19e033be953173ccca3f86be5cf2f9d Author: Caolán McNamara <[email protected]> AuthorDate: Sat Feb 21 16:32:41 2026 +0000 Commit: Adolfo Jayme Barrientos <[email protected]> CommitDate: Sun Feb 22 10:35:36 2026 +0100 Resolves: tdf#166902 ensure right clicked entry is selected Change-Id: Icee19b56e750ce525674a44a109f0fd52dab509a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/199952 Reviewed-by: Adolfo Jayme Barrientos <[email protected]> Tested-by: Jenkins diff --git a/sw/source/uibase/utlui/glbltree.cxx b/sw/source/uibase/utlui/glbltree.cxx index ab9aa234ccfc..27f070aa154a 100644 --- a/sw/source/uibase/utlui/glbltree.cxx +++ b/sw/source/uibase/utlui/glbltree.cxx @@ -272,6 +272,16 @@ IMPL_LINK(SwGlobalTree, CommandHdl, const CommandEvent&, rCEvt, bool) bool bPop = false; if (m_pActiveShell && !m_pActiveShell->GetView().GetDocShell()->IsReadOnly()) { + // tdf#166902 ensure right clicked entry is selected + if (std::unique_ptr<weld::TreeIter> xEntry(m_xTreeView->make_iterator()); + rCEvt.IsMouseEvent() && m_xTreeView->get_dest_row_at_pos( + rCEvt.GetMousePosPixel(), xEntry.get(), false)) + { + // if clicked entry is not currently selected then clear selections and select it + if (!m_xTreeView->is_selected(*xEntry)) + m_xTreeView->set_cursor(*xEntry); + } + std::unique_ptr<weld::Builder> xBuilder(Application::CreateBuilder(m_xTreeView.get(), u"modules/swriter/ui/mastercontextmenu.ui"_ustr)); std::unique_ptr<weld::Menu> xPopup = xBuilder->weld_menu(u"navmenu"_ustr); std::unique_ptr<weld::Menu> xSubPopup = xBuilder->weld_menu(u"insertmenu"_ustr);
