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'])

Reply via email to