diff options
author | Noel Grandin <noel@peralex.com> | 2021-09-23 13:55:31 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2021-09-23 14:57:04 +0200 |
commit | 33584bc189235b2e0f263cade9f9d759d29448c9 (patch) | |
tree | 50dc0f74d5cc542552d79f55e1dda93d6014b1be /sfx2 | |
parent | 85ef14318897f6e32c4987ab9d76c38a9752da24 (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')
-rw-r--r-- | sfx2/source/appl/childwin.cxx | 11 |
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 ) |