You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@openoffice.apache.org by bu...@apache.org on 2012/02/23 19:17:00 UTC

DO NOT REPLY [Bug 118965] New: InstanceLocker can't usefully stop user closing a document because the frame is closed first

https://issues.apache.org/ooo/show_bug.cgi?id=118965

             Bug #: 118965
        Issue Type: DEFECT
           Summary: InstanceLocker can't usefully stop user closing a
                    document because the frame is closed first
    Classification: Code
           Product: api
           Version: version58
          Platform: PC
        OS/Version: Windows XP
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: definition
        AssignedTo: ooo-issues@incubator.apache.org
        ReportedBy: donjaime@freenet.de


Created attachment 77242
  --> https://issues.apache.org/ooo/attachment.cgi?id=77242
Tests InstanceLockers on document and frame and records events in order

When a document is closed from the ui, the frame is closed first, and then the
document. If the document close is aborted by throwing an exception (using
com.sun.star.embed.InstanceLocker), the document is left in an unusable state
since it is no longer attached to a frame and no longer has a controller.

When .Close() is called on the document from the api, the document is closed
first. However, the disposed document is still visible in its controller's
frame, which can be retained by aborting its close. Trying to do anything with
the ghost document causes a crash.

Closing a document should always lead to closing of its controller's frame. The
ui should call .Close() on the document, not the frame.

I am entering this under api and not under ui because as long as there is no
recourse to the api it doesn't matter what order things happen.

-- 
Configure bugmail: https://issues.apache.org/ooo/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.