[Libreoffice-commits] .: basctl/source
Lubos Lunak
llunak at kemper.freedesktop.org
Fri Mar 25 09:40:11 PDT 2011
basctl/source/dlged/dlgedobj.cxx | 15 +++------------
basctl/source/inc/dlgedobj.hxx | 3 +--
2 files changed, 4 insertions(+), 14 deletions(-)
New commits:
commit 4804f9b778bcebda23637f3fd27b508d2d4a0331
Author: LuboÅ¡ LuÅák <l.lunak at suse.cz>
Date: Fri Mar 25 17:32:17 2011 +0100
more sensible SdrObject::Clone() and SdrObject::operator=()
Virtual operator=() is IMO pointless, and especially in a class hierarchy
like SdrObject it's pretty unlikely one could reasonably assign any
SdrObject-based object to any other one. Moreover, it was actually
only used in Clone(), which was almost never reimplemented, so the
more sensible choice is to have non-virtual operator= and virtual
Clone() always being reimplemented and using that.
This commit also fixes various smaller or bigger, er, interesting
details in the various operator= implementations.
diff --git a/basctl/source/dlged/dlgedobj.cxx b/basctl/source/dlged/dlgedobj.cxx
index d1607fc..52adc03 100644
--- a/basctl/source/dlged/dlgedobj.cxx
+++ b/basctl/source/dlged/dlgedobj.cxx
@@ -979,16 +979,14 @@ void DlgEdObj::clonedFrom(const DlgEdObj* _pSource)
//----------------------------------------------------------------------------
-SdrObject* DlgEdObj::Clone() const
+DlgEdObj* DlgEdObj::Clone() const
{
- SdrObject* pReturn = SdrUnoObj::Clone();
-
- DlgEdObj* pDlgEdObj = PTR_CAST(DlgEdObj, pReturn);
+ DlgEdObj* pDlgEdObj = CloneHelper< DlgEdObj >();
DBG_ASSERT( pDlgEdObj != NULL, "DlgEdObj::Clone: invalid clone!" );
if ( pDlgEdObj )
pDlgEdObj->clonedFrom( this );
- return pReturn;
+ return pDlgEdObj;
}
//----------------------------------------------------------------------------
@@ -1005,13 +1003,6 @@ SdrObject* DlgEdObj::getFullDragClone() const
//----------------------------------------------------------------------------
-void DlgEdObj::operator= (const SdrObject& rObj)
-{
- SdrUnoObj::operator= (rObj);
-}
-
-//----------------------------------------------------------------------------
-
void DlgEdObj::NbcMove( const Size& rSize )
{
SdrUnoObj::NbcMove( rSize );
diff --git a/basctl/source/inc/dlgedobj.hxx b/basctl/source/inc/dlgedobj.hxx
index bb85f7a..8cf86eb 100644
--- a/basctl/source/inc/dlgedobj.hxx
+++ b/basctl/source/inc/dlgedobj.hxx
@@ -104,8 +104,7 @@ public:
virtual sal_uInt32 GetObjInventor() const;
virtual sal_uInt16 GetObjIdentifier() const;
- virtual SdrObject* Clone() const; // not working yet
- virtual void operator= (const SdrObject& rObj); // not working yet
+ virtual DlgEdObj* Clone() const; // not working yet
virtual void clonedFrom(const DlgEdObj* _pSource); // not working yet
// FullDrag support
More information about the Libreoffice-commits
mailing list