summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Meeks <michael.meeks@collabora.com>2014-11-05 18:01:50 +0000
committerMichael Meeks <michael.meeks@collabora.com>2014-11-05 20:59:45 +0000
commita1c4d878ef6247aa239035a8ffc71a4737cf2995 (patch)
tree986ffb56e1a11439b22eb87bb93c35f8d42ac4a8
parenta74cb8c392a057899c8aafa74c90664b4f6270b9 (diff)
idle: allow processing pending handlers remotely.
Change-Id: Idb835f1fb04a3f9ca2430781cabeb785285ccf7b
-rw-r--r--offapi/com/sun/star/awt/XToolkitExperimental.idl5
-rw-r--r--toolkit/source/awt/vclxtoolkit.cxx9
2 files changed, 14 insertions, 0 deletions
diff --git a/offapi/com/sun/star/awt/XToolkitExperimental.idl b/offapi/com/sun/star/awt/XToolkitExperimental.idl
index 8cbd88df8e6c..349c2058a4cc 100644
--- a/offapi/com/sun/star/awt/XToolkitExperimental.idl
+++ b/offapi/com/sun/star/awt/XToolkitExperimental.idl
@@ -41,6 +41,11 @@ interface XToolkitExperimental : XToolkit2
[in] long XOffset,
[in] long YOffset,
[in] hyper AddressOfMemoryBufferForSharedArrayWrapper );
+
+ /** Process all pending idle events
+ */
+ void processEventsToIdle();
+
};
}; }; }; };
diff --git a/toolkit/source/awt/vclxtoolkit.cxx b/toolkit/source/awt/vclxtoolkit.cxx
index 4fd8d23ecac5..932ac88cc12c 100644
--- a/toolkit/source/awt/vclxtoolkit.cxx
+++ b/toolkit/source/awt/vclxtoolkit.cxx
@@ -196,6 +196,8 @@ public:
// css::awt::XToolkitExperimental
css::uno::Reference< css::awt::XDevice > SAL_CALL createScreenCompatibleDeviceUsingBuffer( sal_Int32 Width, sal_Int32 Height, sal_Int32 ScaleNumerator, sal_Int32 ScaleDenominator, sal_Int32 XOffset, sal_Int32 YOffset, sal_Int64 AddressOfMemoryBufferForSharedArrayWrapper ) throw
(css::uno::RuntimeException, std::exception) SAL_OVERRIDE;
+ virtual void SAL_CALL processEventsToIdle()
+ throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
// css::awt::XToolkit
css::uno::Reference< css::awt::XWindowPeer > SAL_CALL getDesktopWindow( ) throw(css::uno::RuntimeException, std::exception) SAL_OVERRIDE;
@@ -1884,6 +1886,13 @@ void SAL_CALL VCLXToolkit::reschedule()
Application::Reschedule(true);
}
+void SAL_CALL VCLXToolkit::processEventsToIdle()
+ throw (::com::sun::star::uno::RuntimeException, std::exception)
+{
+ SolarMutexGuard aSolarGuard;
+ Timer::ProcessAllIdleHandlers();
+}
+
}
extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface * SAL_CALL