summaryrefslogtreecommitdiff
path: root/svx/source/svdraw/svdoole2.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'svx/source/svdraw/svdoole2.cxx')
-rw-r--r--svx/source/svdraw/svdoole2.cxx37
1 files changed, 18 insertions, 19 deletions
diff --git a/svx/source/svdraw/svdoole2.cxx b/svx/source/svdraw/svdoole2.cxx
index b97bf73733af..511667cd41d0 100644
--- a/svx/source/svdraw/svdoole2.cxx
+++ b/svx/source/svdraw/svdoole2.cxx
@@ -674,8 +674,8 @@ class SdrOle2ObjImpl
{
public:
// TODO/LATER: do we really need this pointer?
- GraphicObject* pGraphicObject;
- String aPersistName; // name of object in persist
+ rtl::Reference<GraphicObject> m_rGraphicObject;
+ OUString aPersistName; // name of object in persist
SdrLightEmbeddedClient_Impl* pLightClient; // must be registered as client only using AddOwnLightClient() call
// New local var to avoid repeated loading if load of OLE2 fails
@@ -683,10 +683,10 @@ public:
bool mbConnected;
SdrEmbedObjectLink* mpObjectLink;
- String maLinkURL;
+ OUString maLinkURL;
SdrOle2ObjImpl()
- : pGraphicObject( NULL )
+ : m_rGraphicObject( NULL )
, pLightClient ( NULL )
// init to start situation, loading did not fail
, mbLoadingOLEObjectFailed( false )
@@ -780,7 +780,7 @@ void SdrOle2Obj::Init()
mpImpl = new SdrOle2ObjImpl;
pModifyListener = NULL;
pGraphic=NULL;
- mpImpl->pGraphicObject=NULL;
+ mpImpl->m_rGraphicObject = rtl::Reference<GraphicObject>();
mpImpl->pLightClient = 0;
xObjRef.Lock( sal_True );
@@ -798,8 +798,6 @@ SdrOle2Obj::~SdrOle2Obj()
delete pGraphic;
- delete mpImpl->pGraphicObject;
-
if(pModifyListener)
{
pModifyListener->invalidate();
@@ -843,14 +841,16 @@ void SdrOle2Obj::SetGraphic_Impl(const Graphic* pGrf)
{
delete pGraphic;
pGraphic = NULL;
- delete mpImpl->pGraphicObject;
- mpImpl->pGraphicObject = NULL;
}
- if (pGrf!=NULL)
+ if (pGrf != NULL)
{
pGraphic = new Graphic(*pGrf);
- mpImpl->pGraphicObject = new GraphicObject( *pGraphic );
+ mpImpl->m_rGraphicObject = GraphicObject::Create( *pGraphic );
+ }
+ else
+ {
+ mpImpl->m_rGraphicObject = rtl::Reference<GraphicObject>();
}
SetChanged();
@@ -1042,7 +1042,7 @@ void SdrOle2Obj::Reconnect_Impl()
void SdrOle2Obj::Connect_Impl()
{
- if( pModel && mpImpl->aPersistName.Len() )
+ if( pModel && !mpImpl->aPersistName.isEmpty() )
{
try
{
@@ -1176,7 +1176,7 @@ void SdrOle2Obj::Disconnect()
void SdrOle2Obj::RemoveListeners_Impl()
{
- if( xObjRef.is() && mpImpl->aPersistName.Len() )
+ if( xObjRef.is() && !mpImpl->aPersistName.isEmpty() )
{
try
{
@@ -1207,7 +1207,7 @@ void SdrOle2Obj::Disconnect_Impl()
{
try
{
- if ( pModel && mpImpl->aPersistName.Len() )
+ if ( pModel && !mpImpl->aPersistName.isEmpty() )
{
if( pModel->IsInDestruction() )
{
@@ -1337,7 +1337,7 @@ SdrObject* SdrOle2Obj::createSdrGrafObjReplacement(bool bAddText, bool /* bUseHC
// bitmap fill
pClone->SetMergedItem(XFillStyleItem(XFILL_BITMAP));
- pClone->SetMergedItem(XFillBitmapItem(String(), GetEmptyOLEReplacementGraphic()));
+ pClone->SetMergedItem(XFillBitmapItem(OUString(), GraphicObject::Create(GetEmptyOLEReplacementGraphic())));
pClone->SetMergedItem(XFillBmpTileItem(false));
pClone->SetMergedItem(XFillBmpStretchItem(false));
@@ -1548,7 +1548,7 @@ void SdrOle2Obj::SetPersistName( const String& rPersistName )
void SdrOle2Obj::AbandonObject()
{
- mpImpl->aPersistName.Erase();
+ mpImpl->aPersistName = "";
mpImpl->mbLoadingOLEObjectFailed = false;
SetObjRef(0);
}
@@ -1649,11 +1649,10 @@ SdrOle2Obj& SdrOle2Obj::operator=(const SdrOle2Obj& rObj)
if( pGraphic )
{
delete pGraphic;
- delete mpImpl->pGraphicObject;
}
pGraphic = new Graphic( *rOle2Obj.pGraphic );
- mpImpl->pGraphicObject = new GraphicObject( *pGraphic );
+ mpImpl->m_rGraphicObject = GraphicObject::Create( *pGraphic );
}
if( pModel && rObj.GetModel() && !IsEmptyPresObj() )
@@ -1998,7 +1997,7 @@ sal_Bool SdrOle2Obj::Unload()
void SdrOle2Obj::GetObjRef_Impl()
{
- if ( !xObjRef.is() && mpImpl->aPersistName.Len() && pModel && pModel->GetPersist() )
+ if ( !xObjRef.is() && !mpImpl->aPersistName.isEmpty() && pModel && pModel->GetPersist() )
{
// Only try loading if it did not went wrong up to now
if(!mpImpl->mbLoadingOLEObjectFailed)