changing the UNO dispose/disposing() protocol ?
Stephan Bergmann
sbergman at redhat.com
Tue May 30 08:25:15 UTC 2023
On 5/28/23 16:02, Noel Grandin wrote:
> Specifically, I would like to change the part where if a component is
> already disposed, it throws a DisposedException. Instead it should
> simply ignore the call (i.e. return early)
The documentation of css.lang.XComponent::dispose at
udkapi/com/sun/star/lang/XComponent.idl states
> <p>After this method has been called, the object should behave as passive
> as possible, thus it should ignore all calls
> in case it can comply with its specification (for instance addEventListener()).
> Often the object can't fulfill its specification anymore,
> in this case it must throw the DisposedException
> (which is derived from com::sun::star::uno::RuntimeException)
> when it gets called.</p>
>
> <p>For some objects no real owner can be identified, thus it can be
> disposed from multiple reference holders. In this case
> the object should be able to cope with multiple dispose()-calls (which
> are inevitable in a multithreaded environment).
This does not encourage implementations of XComponent to throw
DisposedException upon repeated calls to dispose, anyway.
More information about the LibreOffice
mailing list