Kaydet (Commit) a0b3e81a authored tarafından Noel Grandin's avatar Noel Grandin

make StyleManager::CreateStylePreviewRenderer return std::unique_ptr

consequently fixing memory leak in sw/

Change-Id: Id66657cb8310baf42b0475cdef5e3618406974eb
Reviewed-on: https://gerrit.libreoffice.org/52842Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarNoel Grandin <noel.grandin@collabora.co.uk>
üst 9d5b5eb9
......@@ -18,6 +18,7 @@
#include <svl/style.hxx>
#include <sfx2/objsh.hxx>
#include <memory>
namespace sfx2
{
......@@ -37,7 +38,7 @@ public:
SfxStyleSheetBase* Search(const OUString& rStyleName, SfxStyleFamily eFamily);
virtual StylePreviewRenderer* CreateStylePreviewRenderer(
virtual std::unique_ptr<StylePreviewRenderer> CreateStylePreviewRenderer(
OutputDevice& rOutputDev, SfxStyleSheetBase* pStyle,
long nMaxHeight) = 0;
};
......
......@@ -28,7 +28,7 @@ public:
: StyleManager(rShell)
{}
virtual sfx2::StylePreviewRenderer* CreateStylePreviewRenderer(
virtual std::unique_ptr<sfx2::StylePreviewRenderer> CreateStylePreviewRenderer(
OutputDevice& rOutputDev, SfxStyleSheetBase* pStyle,
long nMaxHeight) override;
};
......
......@@ -14,11 +14,11 @@
namespace svx
{
sfx2::StylePreviewRenderer* CommonStyleManager::CreateStylePreviewRenderer(
std::unique_ptr<sfx2::StylePreviewRenderer> CommonStyleManager::CreateStylePreviewRenderer(
OutputDevice& rOutputDev, SfxStyleSheetBase* pStyle,
long nMaxHeight)
{
return new CommonStylePreviewRenderer(mrShell, rOutputDev, pStyle, nMaxHeight);
return std::unique_ptr<sfx2::StylePreviewRenderer>(new CommonStylePreviewRenderer(mrShell, rOutputDev, pStyle, nMaxHeight));
}
} // end svx namespace
......
......@@ -49,8 +49,8 @@ void renderPreview(sfx2::StyleManager* pStyleManager, OutputDevice& aOutputDevic
if (pStyleSheet)
{
sfx2::StylePreviewRenderer* pStylePreviewRenderer;
pStylePreviewRenderer = pStyleManager->CreateStylePreviewRenderer(aOutputDevice, pStyleSheet, nHeight);
std::unique_ptr<sfx2::StylePreviewRenderer> pStylePreviewRenderer
= pStyleManager->CreateStylePreviewRenderer(aOutputDevice, pStyleSheet, nHeight);
pStylePreviewRenderer->recalculate();
pStylePreviewRenderer->render(aRect, sfx2::StylePreviewRenderer::RenderAlign::TOP);
}
......
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