sw/qa/uitest/navigator/tdf134960.py | 9 +++++++++ 1 file changed, 9 insertions(+)
New commits: commit fcae1c4fdf75d6a62cdbfbca5deb07e78de591f5 Author: Stephan Bergmann <sberg...@redhat.com> AuthorDate: Mon Oct 23 14:02:15 2023 +0200 Commit: Stephan Bergmann <sberg...@redhat.com> CommitDate: Mon Oct 23 15:45:00 2023 +0200 tdf#153519 Another TreeListEntryUIObject heap-use-after-free ...similar to the one addressed with the commits leading up to 9a23ded27470a4c57015e9e5d686259a60d464f2 "Fix thinko when to sleep" Change-Id: Ia6db1440b3d9623b440edb3866b750ff5a14bdb4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158348 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sberg...@redhat.com> diff --git a/sw/qa/uitest/navigator/tdf134960.py b/sw/qa/uitest/navigator/tdf134960.py index 8388b63e40f9..270e9d347abb 100644 --- a/sw/qa/uitest/navigator/tdf134960.py +++ b/sw/qa/uitest/navigator/tdf134960.py @@ -9,6 +9,7 @@ from uitest.framework import UITestCase from libreoffice.uno.propertyvalue import mkPropertyValues from uitest.uihelper.common import get_state_as_dict, get_url_for_data_file +import time class tdf134960_hyperlinks(UITestCase): @@ -27,6 +28,14 @@ class tdf134960_hyperlinks(UITestCase): # wait until the navigator panel is available xNavigatorPanel = self.ui_test.wait_until_child_is_available('NavigatorPanel') + # HACK, see the `m_aUpdTimer.SetTimeout(1000)` in the SwContentTree ctor in + # sw/source/uibase/utlui/content.cxx, where that m_aUpdTimer is started by + # SwContentTree::ShowTree triggered from the SIDEBAR action above, and which can invalidate + # the TreeListEntryUIObjects used by the below code (see + # 2798430c8a711861fdcdfbf9ac00a0527abd3bfc "Mark the uses of TreeListEntryUIObject as + # dubious"); lets double that 1000 ms timeout value here to hopefully be on the safe side: + time.sleep(2) + xContentTree = xNavigatorPanel.getChild("contenttree") xHyperlinks = self.get_item(xContentTree, 'Hyperlinks') self.assertEqual('Hyperlinks', get_state_as_dict(xHyperlinks)['Text'])