From d5c6efa206efe0ac99b136321b9ecf77c7c2392c Mon Sep 17 00:00:00 2001 From: Tor Lillqvist Date: Tue, 14 May 2019 13:35:11 +0300 Subject: [PATCH] Don't call Application::Quit() in Desktop::terminate() on iOS When exiting from a document in the iOS app, the Application::Quit() would post an ImplQuitMsg user event that would however not be handled for that document. Instead, it would be handled by the next document opened and thus the code would immediately stop editing the document, causing grief. Change-Id: Id24c843b3f329673035da55f53c2134265fce003 --- framework/source/services/desktop.cxx | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/framework/source/services/desktop.cxx b/framework/source/services/desktop.cxx index b3af82593e66..8a91db555c14 100644 --- a/framework/source/services/desktop.cxx +++ b/framework/source/services/desktop.cxx @@ -243,7 +243,11 @@ sal_Bool SAL_CALL Desktop::terminate() if (bRestartableMainLoop) { +#ifndef IOS // or ANDROID? + // In the iOS app, posting the ImplQuitMsg user event will be too late, it will not be handled during the + // lifetime of the current document, but handled for the next document opened, which thus will break horribly. Application::Quit(); +#endif return true; } if ( ! bFramesClosed )