summaryrefslogtreecommitdiff
path: root/sw/source/core/unocore/unoframe.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sw/source/core/unocore/unoframe.cxx')
-rw-r--r--sw/source/core/unocore/unoframe.cxx41
1 files changed, 19 insertions, 22 deletions
diff --git a/sw/source/core/unocore/unoframe.cxx b/sw/source/core/unocore/unoframe.cxx
index d0ec1efb18e2..6ee6e824c5d2 100644
--- a/sw/source/core/unocore/unoframe.cxx
+++ b/sw/source/core/unocore/unoframe.cxx
@@ -1172,7 +1172,7 @@ void SwXFrame::setPropertyValue(const :: OUString& rPropertyName, const :: uno::
FN_UNO_GRAPHIC_FILTER == pEntry->nWID)
{
String sGrfName, sFltName;
- GraphicObject *pGrfObj = 0;
+ rtl::Reference<GraphicObject> rGrfObj;
pFmt->GetDoc()->GetGrfNms( *(SwFlyFrmFmt*)pFmt, &sGrfName, &sFltName );
OUString uTemp;
aValue >>= uTemp;
@@ -1183,9 +1183,9 @@ void SwXFrame::setPropertyValue(const :: OUString& rPropertyName, const :: uno::
if( sTmp.EqualsAscii( sPackageProtocol,
0, sizeof( sPackageProtocol )-1 ) )
{
- pGrfObj = new GraphicObject;
- pGrfObj->SetUserData( sTmp );
- pGrfObj->SetSwapState();
+ rGrfObj = GraphicObject::Create();
+ rGrfObj->SetUserData( sTmp );
+ rGrfObj->SetSwapState();
sGrfName.Erase();
}
else if( sTmp.EqualsAscii( sGraphicObjectProtocol,
@@ -1194,7 +1194,7 @@ void SwXFrame::setPropertyValue(const :: OUString& rPropertyName, const :: uno::
OString sId(OUStringToOString(
sTmp.Copy(sizeof(sGraphicObjectProtocol)-1),
RTL_TEXTENCODING_ASCII_US));
- pGrfObj = new GraphicObject( sId );
+ rGrfObj = GraphicObject::Create( sId );
sGrfName.Erase();
}
else
@@ -1215,14 +1215,12 @@ void SwXFrame::setPropertyValue(const :: OUString& rPropertyName, const :: uno::
SwGrfNode* pGrfNode = aIdx.GetNode().GetGrfNode();
if(!pGrfNode)
{
- delete pGrfObj;
throw uno::RuntimeException();
}
SwPaM aGrfPaM(*pGrfNode);
pFmt->GetDoc()->ReRead( aGrfPaM, sGrfName, sFltName, 0,
- pGrfObj );
+ &rGrfObj );
}
- delete pGrfObj;
}
else if( FN_UNO_GRAPHIC == pEntry->nWID )
{
@@ -1252,7 +1250,7 @@ void SwXFrame::setPropertyValue(const :: OUString& rPropertyName, const :: uno::
Graphic aGraphic;
if( bURL )
{
- GraphicObject *pGrfObj = 0;
+ rtl::Reference<GraphicObject> rGrfObj;
OUString aGrfUrl;
aValue >>= aGrfUrl;
@@ -1264,8 +1262,8 @@ void SwXFrame::setPropertyValue(const :: OUString& rPropertyName, const :: uno::
OString sId(OUStringToOString(
aGrfUrl.copy(sizeof(sGraphicObjectProtocol)-1),
RTL_TEXTENCODING_ASCII_US));
- pGrfObj = new GraphicObject( sId );
- aGraphic = pGrfObj->GetGraphic();
+ rGrfObj = GraphicObject::Create( sId );
+ aGraphic = rGrfObj->GetGraphic();
bApply = true;
}
}
@@ -1569,7 +1567,7 @@ uno::Any SwXFrame::getPropertyValue(const OUString& rPropertyName)
{
OUString sPrefix( RTL_CONSTASCII_USTRINGPARAM(sGraphicObjectProtocol) );
OUString sId(OStringToOUString(
- pGrfNode->GetGrfObj().GetUniqueID(),
+ pGrfNode->GetGrfObj()->GetUniqueID(),
RTL_TEXTENCODING_ASCII_US));
sGrfName = sPrefix + sId;
}
@@ -1588,12 +1586,12 @@ uno::Any SwXFrame::getPropertyValue(const OUString& rPropertyName)
if(!pGrfNode)
throw uno::RuntimeException();
- const GraphicObject* pGraphicObject = pGrfNode->GetReplacementGrfObj();
+ const rtl::Reference<GraphicObject> rGraphicObject = pGrfNode->GetReplacementGrfObj();
- if(pGraphicObject)
+ if(rGraphicObject.is())
{
OUString sPrefix( sGraphicObjectProtocol );
- (sGrfName = sPrefix) += OStringToOUString( pGraphicObject->GetUniqueID(), RTL_TEXTENCODING_ASCII_US );
+ (sGrfName = sPrefix) += OStringToOUString( rGraphicObject->GetUniqueID(), RTL_TEXTENCODING_ASCII_US );
}
}
@@ -2232,7 +2230,7 @@ void SwXFrame::attachToRange(const uno::Reference< text::XTextRange > & xTextRan
UnoActionContext aCont(pDoc);
const ::uno::Any* pGraphicURL;
String sGraphicURL;
- GraphicObject *pGrfObj = 0;
+ rtl::Reference<GraphicObject> rGrfObj;
if(pProps->GetProperty(FN_UNO_GRAPHIC_U_R_L, 0, pGraphicURL))
{
OUString uTemp;
@@ -2241,9 +2239,9 @@ void SwXFrame::attachToRange(const uno::Reference< text::XTextRange > & xTextRan
if( sGraphicURL.EqualsAscii( sPackageProtocol,
0, sizeof( sPackageProtocol )-1 ) )
{
- pGrfObj = new GraphicObject;
- pGrfObj->SetUserData( sGraphicURL );
- pGrfObj->SetSwapState();
+ rGrfObj = GraphicObject::Create();
+ rGrfObj->SetUserData( sGraphicURL );
+ rGrfObj->SetSwapState();
sGraphicURL.Erase();
}
else if( sGraphicURL.EqualsAscii( sGraphicObjectProtocol,
@@ -2252,7 +2250,7 @@ void SwXFrame::attachToRange(const uno::Reference< text::XTextRange > & xTextRan
OString sId(OUStringToOString(
sGraphicURL.Copy( sizeof(sGraphicObjectProtocol)-1 ),
RTL_TEXTENCODING_ASCII_US));
- pGrfObj = new GraphicObject( sId );
+ rGrfObj = GraphicObject::Create( sId );
sGraphicURL.Erase();
}
}
@@ -2275,11 +2273,10 @@ void SwXFrame::attachToRange(const uno::Reference< text::XTextRange > & xTextRan
}
pFmt =
- pGrfObj ? pDoc->Insert( aPam, *pGrfObj, &aFrmSet, &aGrSet,
+ rGrfObj.is() ? pDoc->Insert( aPam, rGrfObj, &aFrmSet, &aGrSet,
pParentFrmFmt )
: pDoc->Insert( aPam, sGraphicURL, sFltName, &aGraphic,
&aFrmSet, &aGrSet, pParentFrmFmt );
- delete pGrfObj;
if(pFmt)
{
SwGrfNode *pGrfNd = pDoc->GetNodes()[ pFmt->GetCntnt().GetCntntIdx()