Kaydet (Commit) d7194ade authored tarafından Miklos Vajna's avatar Miklos Vajna

Use std::unique_ptr in SmViewShell::Execute()

Change-Id: I8593c87f7a580e09d689df4cfdfecc8947f86159
üst ebb5068a
...@@ -1666,7 +1666,7 @@ void SmViewShell::Execute(SfxRequest& rReq) ...@@ -1666,7 +1666,7 @@ void SmViewShell::Execute(SfxRequest& rReq)
xStrm = aDataHelper.GetInputStream(nId, ""); xStrm = aDataHelper.GetInputStream(nId, "");
if (xStrm.is()) if (xStrm.is())
{ {
SfxMedium* pClipboardMedium = new SfxMedium(); std::unique_ptr<SfxMedium> pClipboardMedium(new SfxMedium());
pClipboardMedium->GetItemSet(); //generate initial itemset, not sure if necessary pClipboardMedium->GetItemSet(); //generate initial itemset, not sure if necessary
const SfxFilter* pMathFilter = const SfxFilter* pMathFilter =
SfxFilter::GetFilterByName(MATHML_XML); SfxFilter::GetFilterByName(MATHML_XML);
...@@ -1674,7 +1674,6 @@ void SmViewShell::Execute(SfxRequest& rReq) ...@@ -1674,7 +1674,6 @@ void SmViewShell::Execute(SfxRequest& rReq)
pClipboardMedium->setStreamToLoadFrom(xStrm, true /*bIsReadOnly*/); pClipboardMedium->setStreamToLoadFrom(xStrm, true /*bIsReadOnly*/);
InsertFrom(*pClipboardMedium); InsertFrom(*pClipboardMedium);
GetDoc()->UpdateText(); GetDoc()->UpdateText();
delete pClipboardMedium;
} }
} }
else else
...@@ -1685,13 +1684,13 @@ void SmViewShell::Execute(SfxRequest& rReq) ...@@ -1685,13 +1684,13 @@ void SmViewShell::Execute(SfxRequest& rReq)
::rtl::OUString aString; ::rtl::OUString aString;
if (aDataHelper.GetString( nId, aString)) if (aDataHelper.GetString( nId, aString))
{ {
SfxMedium* pClipboardMedium = new SfxMedium(); std::unique_ptr<SfxMedium> pClipboardMedium(new SfxMedium());
pClipboardMedium->GetItemSet(); //generates initial itemset, not sure if necessary pClipboardMedium->GetItemSet(); //generates initial itemset, not sure if necessary
const SfxFilter* pMathFilter = const SfxFilter* pMathFilter =
SfxFilter::GetFilterByName(MATHML_XML); SfxFilter::GetFilterByName(MATHML_XML);
pClipboardMedium->SetFilter(pMathFilter); pClipboardMedium->SetFilter(pMathFilter);
SvMemoryStream * pStrm; std::unique_ptr<SvMemoryStream> pStrm;
// The text to be imported might asserts encoding like 'encoding="utf-8"' but FORMAT_STRING is UTF-16. // The text to be imported might asserts encoding like 'encoding="utf-8"' but FORMAT_STRING is UTF-16.
// Force encoding to UTF-16, if encoding exists. // Force encoding to UTF-16, if encoding exists.
bool bForceUTF16 = false; bool bForceUTF16 = false;
...@@ -1709,18 +1708,16 @@ void SmViewShell::Execute(SfxRequest& rReq) ...@@ -1709,18 +1708,16 @@ void SmViewShell::Execute(SfxRequest& rReq)
if ( bForceUTF16 ) if ( bForceUTF16 )
{ {
OUString aNewString = aString.replaceAt( nPosL,nPosU-nPosL,"UTF-16"); OUString aNewString = aString.replaceAt( nPosL,nPosU-nPosL,"UTF-16");
pStrm = new SvMemoryStream( const_cast<sal_Unicode *>(aNewString.getStr()), aNewString.getLength() * sizeof(sal_Unicode), StreamMode::READ); pStrm.reset(new SvMemoryStream( const_cast<sal_Unicode *>(aNewString.getStr()), aNewString.getLength() * sizeof(sal_Unicode), StreamMode::READ));
} }
else else
{ {
pStrm = new SvMemoryStream( const_cast<sal_Unicode *>(aString.getStr()), aString.getLength() * sizeof(sal_Unicode), StreamMode::READ); pStrm.reset(new SvMemoryStream( const_cast<sal_Unicode *>(aString.getStr()), aString.getLength() * sizeof(sal_Unicode), StreamMode::READ));
} }
uno::Reference<io::XInputStream> xStrm2( new ::utl::OInputStreamWrapper(*pStrm) ); uno::Reference<io::XInputStream> xStrm2( new ::utl::OInputStreamWrapper(*pStrm) );
pClipboardMedium->setStreamToLoadFrom(xStrm2, true /*bIsReadOnly*/); pClipboardMedium->setStreamToLoadFrom(xStrm2, true /*bIsReadOnly*/);
InsertFrom(*pClipboardMedium); InsertFrom(*pClipboardMedium);
GetDoc()->UpdateText(); GetDoc()->UpdateText();
delete pClipboardMedium;
delete pStrm;
} }
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment