summaryrefslogtreecommitdiff
path: root/sfx2/source
diff options
context:
space:
mode:
authorNoel Grandin <noel@peralex.com>2021-09-23 13:55:31 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2021-09-23 14:57:04 +0200
commit33584bc189235b2e0f263cade9f9d759d29448c9 (patch)
tree50dc0f74d5cc542552d79f55e1dda93d6014b1be /sfx2/source
parent85ef14318897f6e32c4987ab9d76c38a9752da24 (diff)
tdf#144132 Crash when insert formula object in Writer
regression from commit ec01d43e0a8fa560d7cd8c76c0d609b18a60cddb Date: Wed Jul 21 14:24:28 2021 +0200 pass SfxChildWinFactory around by value Change-Id: I88bc6c8bfd35d0a653512b064c9ee0d59b1e8b38 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122520 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'sfx2/source')
-rw-r--r--sfx2/source/appl/childwin.cxx11
1 files changed, 5 insertions, 6 deletions
diff --git a/sfx2/source/appl/childwin.cxx b/sfx2/source/appl/childwin.cxx
index b00f70a3afb3..51f58a4193c0 100644
--- a/sfx2/source/appl/childwin.cxx
+++ b/sfx2/source/appl/childwin.cxx
@@ -51,7 +51,7 @@ struct SfxChildWindow_Impl
{
css::uno::Reference< css::frame::XFrame > xFrame;
css::uno::Reference< css::lang::XEventListener > xListener;
- SfxChildWinFactory* pFact;
+ SfxChildWinFactory aFact = { nullptr, 0, 0 };
bool bHideNotDelete;
bool bVisible;
bool bWantsFocus;
@@ -147,7 +147,6 @@ SfxChildWindow::SfxChildWindow(vcl::Window *pParentWindow, sal_uInt16 nId)
, eChildAlignment(SfxChildAlignment::NOALIGNMENT)
, nType(nId)
{
- pImpl->pFact = nullptr;
pImpl->bHideNotDelete = false;
pImpl->bWantsFocus = true;
pImpl->bVisible = true;
@@ -291,7 +290,7 @@ void SfxChildWindow::SaveStatus(const SfxChildWinInfo& rInfo)
aWinOpt.SetUserData( aSeq );
// ... but save status at runtime!
- pImpl->pFact->aInfo = rInfo;
+ pImpl->aFact.aInfo = rInfo;
}
void SfxChildWindow::SetAlignment(SfxChildAlignment eAlign)
@@ -301,7 +300,7 @@ void SfxChildWindow::SetAlignment(SfxChildAlignment eAlign)
SfxChildWinInfo SfxChildWindow::GetInfo() const
{
- SfxChildWinInfo aInfo(pImpl->pFact->aInfo);
+ SfxChildWinInfo aInfo(pImpl->aFact.aInfo);
if (xController)
{
weld::Dialog* pDialog = xController->getDialog();
@@ -343,7 +342,7 @@ SfxChildWinInfo SfxChildWindow::GetInfo() const
sal_uInt16 SfxChildWindow::GetPosition() const
{
- return pImpl->pFact->nPos;
+ return pImpl->aFact.nPos;
}
void SfxChildWindow::InitializeChildWinFactory_Impl(sal_uInt16 nId, SfxChildWinInfo& rInfo)
@@ -423,7 +422,7 @@ bool ParentIsFloatingWindow(const vcl::Window *pParent)
void SfxChildWindow::SetFactory_Impl( SfxChildWinFactory *pF )
{
- pImpl->pFact = pF;
+ pImpl->aFact = *pF;
}
void SfxChildWindow::SetHideNotDelete( bool bOn )