Type: info
         Title: SdrObject dtor now protected, use SdrObject::Free instead
     Posted by: [EMAIL PROTECTED]
      Affected: -
Effective from: CWS oj14


*Summary*
--------
- public ~SdrObject();
+ protected  ~SdrObject();
+ public static void SdrObject::Free( SdrObject*& _rpObject );
- SvxShape::SetTemporaryShape( bool );
+ void SvxShape::TakeSdrObjectOwnership();
+ bool SvxShape::HasSdrObjectOwnership() const;

*Description*
-------------
Due to continued problems with the ownership of SdrObject instances
(which currently are deleted  by either one of the parent
SdrObjectList, the XDrawPage implementation, the XShape
implementation, or some other code instantiating temporary objects),
the following changes have been made in CWS oj14:

A SvxShape (which is the XShape implementation associated with an
SdrObject) can be told to explicitly take ownership of the SdrObject.
(This was formerly possible with SetTemporaryShape( true ), but this
has been renamed for clarity reasons.).

Also, you cannot explicitly delete an SdrObject instance anymore.
Instead, you need to use SdrObject::Free( SdrObject*& ). This method
will do nothing if the associated SvxShape implementation has the
ownership, and delete the SdrObject if not so. This is to catch
(nearly) all current and future places where you could potentially
disobey the SvxShape ownership of the SdrObject.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to