Apache OpenOffice (AOO) Bugzilla – Issue 36294
Do not start aCloseTimer from PrepareClose()
Last modified: 2017-05-20 11:08:42 UTC
See issue i34904 for motivation. Scenario: 1. Java script calls XClosable::close() at an Impress document. 2. Eventually DrawViewShell::PrepareClose() is called from the SfxBaseController to ask whether it may be closed or not. In the negative case two tasks are executed: a. PrepareClose() starts the aCloseTimer which eventually calls CloseHdl which in turn dispatches the SID_CLOSEWIN slot. b. PrepareClose() returns 0 which makes the SfxBaseController throw a CoseVetoException. Problem: The asynchronous call of the SID_CLOSEWIN slot leads eventually to the display of a message box that tells the (nonexistent) user that the document was modified. This box blocks the script. Solution: According to MBA the two actions a) and b) have to be done by the SfxBaseController: the one who throws the exception is responsible for closing the document. To avoid the message box PrepareClose() must not start the aCloseTimer (except when it is called with TRUE, i.e. not as result of an API call.) This issue is about not starting the aCloseTimer.
See issue 36296 for a related task in sfx2.
With the new presentation engine we can close the slide show synchronously and thus have no need for a timer anymore.
Have to wait for CWS presentationengine01 to be integrated (m63).
set to prio4
Changing target.
Due to resource constraints I set the target to OOo Later.
Reset assigne to the default "issues@openoffice.apache.org".