From f7102dafc44a66b8ffb7b8d516fe1720fc45f8fe Mon Sep 17 00:00:00 2001 From: Jim Raykowski Date: Wed, 13 Apr 2022 18:44:19 -0800 Subject: SwNavigator content tracking: clear selections and entry cursor when entry is not found in content tree This happens when the document cursor is positioned on table of content hyperlinks. Change-Id: I717b2dae31780b26cf5450fbea0c8f461659770c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132989 Tested-by: Jenkins Reviewed-by: Jim Raykowski --- sw/source/uibase/utlui/content.cxx | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'sw') diff --git a/sw/source/uibase/utlui/content.cxx b/sw/source/uibase/utlui/content.cxx index 64a710b6f3f3..05e9eabfbdca 100644 --- a/sw/source/uibase/utlui/content.cxx +++ b/sw/source/uibase/utlui/content.cxx @@ -3257,7 +3257,11 @@ static void lcl_SelectByContentTypeAndAddress(SwContentTree* pThis, weld::TreeVi ContentTypeId nType, const void* ptr) { if (!ptr) + { + rContentTree.set_cursor(-1); + pThis->Select(); return; + } // find content type entry std::unique_ptr xIter(rContentTree.make_iterator()); @@ -3273,7 +3277,11 @@ static void lcl_SelectByContentTypeAndAddress(SwContentTree* pThis, weld::TreeVi } if (!bFoundEntry) + { + rContentTree.set_cursor(-1); + pThis->Select(); return; + } // assure content type entry is expanded rContentTree.expand_row(*xIter); @@ -3332,6 +3340,10 @@ static void lcl_SelectByContentTypeAndAddress(SwContentTree* pThis, weld::TreeVi return; } } + + rContentTree.set_cursor(-1); + pThis->Select(); + return; } static void lcl_SelectByContentTypeAndName(SwContentTree* pThis, weld::TreeView& rContentTree, -- cgit