From 0c34cd41c65973f8ff0e78c76cd6ad52ef89bc4a Mon Sep 17 00:00:00 2001 From: Miklos Vajna Date: Wed, 19 Oct 2016 09:45:07 +0200 Subject: [PATCH] CppunitTest_desktop_lib: fix stack-use-after-return The LOK callback objects registered are on-stack objects, so we must be sure that references no longer used after we return. Process idle events, so that desktop::CallbackHandler::flush() won't try to use the reference after return. Change-Id: I65d324cb9cef4fd1776d0f610d8d096717e0e833 Reviewed-on: https://gerrit.libreoffice.org/30034 Reviewed-by: Miklos Vajna Tested-by: Jenkins --- desktop/qa/desktop_lib/test_desktop_lib.cxx | 2 ++ 1 file changed, 2 insertions(+) diff --git a/desktop/qa/desktop_lib/test_desktop_lib.cxx b/desktop/qa/desktop_lib/test_desktop_lib.cxx index bcf019e548f2..d71df17790eb 100644 --- a/desktop/qa/desktop_lib/test_desktop_lib.cxx +++ b/desktop/qa/desktop_lib/test_desktop_lib.cxx @@ -1639,6 +1639,7 @@ void DesktopLOKTest::testPaintPartTile() // the first view, so there were no invalidations. CPPUNIT_ASSERT(aView1.m_bTilesInvalidated); + Scheduler::ProcessEventsToIdle(); mxComponent->dispose(); mxComponent.clear(); comphelper::LibreOfficeKit::setActive(false); @@ -1678,6 +1679,7 @@ void DesktopLOKTest::testWriterCommentInsertCursor() // inserted the comment. CPPUNIT_ASSERT(aView1.m_aOwnCursor.IsEmpty()); + Scheduler::ProcessEventsToIdle(); mxComponent->dispose(); mxComponent.clear(); comphelper::LibreOfficeKit::setActive(false);