summaryrefslogtreecommitdiff
path: root/sw
diff options
context:
space:
mode:
Diffstat (limited to 'sw')
-rw-r--r--sw/qa/uitest/navigator/tdf114724.py4
-rw-r--r--sw/qa/uitest/navigator/tdf137274.py9
-rw-r--r--sw/source/core/crsr/crstrvl.cxx6
-rw-r--r--sw/source/uibase/utlui/content.cxx2
-rw-r--r--sw/source/uibase/utlui/navipi.cxx5
5 files changed, 17 insertions, 9 deletions
diff --git a/sw/qa/uitest/navigator/tdf114724.py b/sw/qa/uitest/navigator/tdf114724.py
index 9c538739048f..a84bab60da60 100644
--- a/sw/qa/uitest/navigator/tdf114724.py
+++ b/sw/qa/uitest/navigator/tdf114724.py
@@ -22,8 +22,8 @@ class tdf114724(UITestCase):
xWriterEdit.executeAction("FOCUS", tuple())
- self.ui_test.wait_until_property_is_updated(xNavigatorPanel, "selectedtext", "Headings")
- self.assertEqual(get_state_as_dict(xNavigatorPanel)["selectedtext"], "Headings")
+ self.ui_test.wait_until_property_is_updated(xNavigatorPanel, "selectedtext", "HEADING 1")
+ self.assertEqual(get_state_as_dict(xNavigatorPanel)["selectedtext"], "HEADING 1")
self.assertEqual(get_state_as_dict(xNavigatorPanel)["selectioncount"], "1")
for _ in range(0,3):
xWriterEdit.executeAction("TYPE", mkPropertyValues({"KEYCODE": "DOWN"}))
diff --git a/sw/qa/uitest/navigator/tdf137274.py b/sw/qa/uitest/navigator/tdf137274.py
index 2c23960ddf75..f1e153992e2d 100644
--- a/sw/qa/uitest/navigator/tdf137274.py
+++ b/sw/qa/uitest/navigator/tdf137274.py
@@ -30,13 +30,10 @@ class tdf137274(UITestCase):
xWriterEdit.executeAction("SIDEBAR", mkPropertyValues({"PANEL": "SwNavigatorPanel"}))
- xNavigatorPanel = xWriterEdit.getChild("NavigatorPanelParent")
-
- xWriterEdit.executeAction("FOCUS", tuple())
+ # wait until the navigator panel is available
+ self.ui_test.wait_until_child_is_available(xMainWindow, 'NavigatorPanelParent')
- # Wait until the navigator is available
- self.ui_test.wait_until_property_is_updated(xNavigatorPanel, "selectedtext", "Headings")
- self.assertEqual(get_state_as_dict(xNavigatorPanel)["selectedtext"], "Headings")
+ xNavigatorPanel = xWriterEdit.getChild("NavigatorPanelParent")
xContentTree = xNavigatorPanel.getChild("contenttree")
xComments = xContentTree.getChild('10')
diff --git a/sw/source/core/crsr/crstrvl.cxx b/sw/source/core/crsr/crstrvl.cxx
index a41f3ae86799..893233c7ec1a 100644
--- a/sw/source/core/crsr/crstrvl.cxx
+++ b/sw/source/core/crsr/crstrvl.cxx
@@ -1148,6 +1148,12 @@ SwOutlineNodes::size_type SwCursorShell::GetOutlinePos(sal_uInt8 nLevel, SwPaM*
if (sw::IsParaPropsNode(*GetLayout(), *pNd->GetTextNode())
&& pNd->GetTextNode()->GetAttrOutlineLevel()-1 <= nLevel)
{
+ if (pNd->GetIndex() < rNds.GetEndOfExtras().GetIndex()
+ && pCursor->GetNode().GetIndex() > rNds.GetEndOfExtras().GetIndex())
+ {
+ // node found in extras but cursor position is not in extras
+ return SwOutlineNodes::npos;
+ }
return nPos;
}
}
diff --git a/sw/source/uibase/utlui/content.cxx b/sw/source/uibase/utlui/content.cxx
index 5ac56dbabc43..5b3ce3b6474b 100644
--- a/sw/source/uibase/utlui/content.cxx
+++ b/sw/source/uibase/utlui/content.cxx
@@ -3210,7 +3210,7 @@ IMPL_LINK_NOARG(SwContentTree, TimerUpdate, Timer *, void)
void SwContentTree::UpdateTracking()
{
- if (State::HIDDEN == m_eState)
+ if (State::HIDDEN == m_eState || !m_pActiveShell)
return;
// m_bIgnoreViewChange is set on delete
diff --git a/sw/source/uibase/utlui/navipi.cxx b/sw/source/uibase/utlui/navipi.cxx
index 725e4257ee14..7c440647e4e3 100644
--- a/sw/source/uibase/utlui/navipi.cxx
+++ b/sw/source/uibase/utlui/navipi.cxx
@@ -750,6 +750,11 @@ void SwNavigationPI::StateChanged(StateChangedType nStateChange)
// show content if docked
if (SfxChildWindowContext::GetFloatingWindow(GetParent()) == nullptr && IsZoomedIn())
ZoomOut();
+ if (m_xContentTree)
+ {
+ m_xContentTree->SetActiveShell(GetActiveWrtShell());
+ m_xContentTree->UpdateTracking();
+ }
}
else if (nStateChange == StateChangedType::ControlFocus)
{