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)
xStrm = aDataHelper.GetInputStream(nId, "");
if (xStrm.is())
{
SfxMedium* pClipboardMedium = new SfxMedium();
std::unique_ptr<SfxMedium> pClipboardMedium(new SfxMedium());
pClipboardMedium->GetItemSet(); //generate initial itemset, not sure if necessary
const SfxFilter* pMathFilter =
SfxFilter::GetFilterByName(MATHML_XML);
......@@ -1674,7 +1674,6 @@ void SmViewShell::Execute(SfxRequest& rReq)
pClipboardMedium->setStreamToLoadFrom(xStrm, true /*bIsReadOnly*/);
InsertFrom(*pClipboardMedium);
GetDoc()->UpdateText();
delete pClipboardMedium;
}
}
else
......@@ -1685,13 +1684,13 @@ void SmViewShell::Execute(SfxRequest& rReq)
::rtl::OUString 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
const SfxFilter* pMathFilter =
SfxFilter::GetFilterByName(MATHML_XML);
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.
// Force encoding to UTF-16, if encoding exists.
bool bForceUTF16 = false;
......@@ -1709,18 +1708,16 @@ void SmViewShell::Execute(SfxRequest& rReq)
if ( bForceUTF16 )
{
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
{
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) );
pClipboardMedium->setStreamToLoadFrom(xStrm2, true /*bIsReadOnly*/);
InsertFrom(*pClipboardMedium);
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