summaryrefslogtreecommitdiff
path: root/toolkit/source/awt
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2023-10-26 11:40:24 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2023-10-26 16:10:29 +0200
commit0446f73d27a0c43de1a2d5e07c9510a287be6af2 (patch)
treece2ff16f0809c5e3aec25c1d177e45156d784b31 /toolkit/source/awt
parent455a1775ccef305cfb96cc5f67c8ee47b7f3a2ae (diff)
tdf#153519 use new IdleTask::waitUntilIdleDispatched
to wait until the Idle inside sw/ has done populating the navigator tree. Which required (*) moving the code down from test/ to vcl/ to avoid circular dependency issues. (*) adding a call SolarMutexGuard before Application::Yield inside IdleTask::waitUntilIdleDispatched (*) exposing the function to python by adding a method to the XToolkitExperimental UNO API Change-Id: Iee418f7a0beb1f5b53addb7fe25823d61720eb3a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158495 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'toolkit/source/awt')
-rw-r--r--toolkit/source/awt/vclxtoolkit.cxx8
1 files changed, 8 insertions, 0 deletions
diff --git a/toolkit/source/awt/vclxtoolkit.cxx b/toolkit/source/awt/vclxtoolkit.cxx
index 7ae9cda1b6ff..7f6bd757b914 100644
--- a/toolkit/source/awt/vclxtoolkit.cxx
+++ b/toolkit/source/awt/vclxtoolkit.cxx
@@ -62,6 +62,7 @@
#include <rtl/process.h>
#include <sal/log.hxx>
#include <tools/link.hxx>
+#include <vcl/idletask.hxx>
#include <vcl/wintypes.hxx>
#ifdef MACOSX
@@ -485,6 +486,8 @@ public:
css::uno::Sequence< OUString > SAL_CALL getRecordingAndClear() override;
+ virtual void SAL_CALL waitUntilAllIdlesDispatched() override;
+
// css::awt::XToolkit
css::uno::Reference< css::awt::XWindowPeer > SAL_CALL getDesktopWindow( ) override;
css::awt::Rectangle SAL_CALL getWorkArea( ) override;
@@ -2544,6 +2547,11 @@ css::uno::Sequence< OUString > VCLXToolkit::getRecordingAndClear()
return comphelper::ProfileZone::getRecordingAndClear();
}
+void VCLXToolkit::waitUntilAllIdlesDispatched()
+{
+ IdleTask::waitUntilIdleDispatched();
+}
+
// css:awt:XToolkitRobot
void SAL_CALL VCLXToolkit::keyPress( const css::awt::KeyEvent & aKeyEvent )