Issue 36294

Summary: Do not start aCloseTimer from PrepareClose()
Product: Impress Reporter: groucho266
Component: codeAssignee: AOO issues mailing list <issues>
Status: ACCEPTED --- QA Contact:
Severity: Trivial    
Priority: P4 CC: issues
Version: 680m57   
Target Milestone: ---   
Hardware: All   
OS: All   
Issue Type: DEFECT Latest Confirmation in: ---
Developer Difficulty: ---

Description groucho266 2004-10-28 15:40:02 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.
Comment 1 groucho266 2004-10-28 15:46:23 UTC
See issue 36296 for a related task in sfx2.
Comment 2 groucho266 2004-10-28 16:02:15 UTC
With the new presentation engine we can close the slide show synchronously and
thus have no need for a timer anymore.
Comment 3 groucho266 2004-11-26 13:00:43 UTC
Have to wait for CWS presentationengine01 to be integrated (m63).
Comment 4 ooo 2004-12-01 15:21:43 UTC
set to prio4
Comment 5 groucho266 2005-04-11 17:27:52 UTC
Changing target.
Comment 6 groucho266 2005-05-24 14:06:58 UTC
Due to resource constraints I set the target to OOo Later.
Comment 7 Marcus 2017-05-20 11:08:42 UTC
Reset assigne to the default "issues@openoffice.apache.org".