diff options
Diffstat (limited to 'sfx2/source')
-rw-r--r-- | sfx2/source/appl/workwin.cxx | 10 | ||||
-rw-r--r-- | sfx2/source/dialog/basedlgs.cxx | 13 |
2 files changed, 21 insertions, 2 deletions
diff --git a/sfx2/source/appl/workwin.cxx b/sfx2/source/appl/workwin.cxx index b3f472ac3f81..12276fe01bdb 100644 --- a/sfx2/source/appl/workwin.cxx +++ b/sfx2/source/appl/workwin.cxx @@ -586,8 +586,14 @@ void SfxWorkWindow::DeleteControllers_Impl() // SplitWindow, cancel it at the workwindow. // After TH a cancellation on the SplitWindow is not necessary // since this window is also destroyed (see below). - if (pCW->pCli && pChild->GetWindow()) - ReleaseChild_Impl(*pChild->GetWindow()); + if (pCW->pCli) + { + if (pChild->GetController()) + ReleaseChild_Impl(*pChild->GetController()); + else + ReleaseChild_Impl(*pChild->GetWindow()); + } + pCW->pWin = nullptr; pWorkWin->GetSystemWindow()->GetTaskPaneList()->RemoveWindow( pChild->GetWindow() ); pChild->Destroy(); diff --git a/sfx2/source/dialog/basedlgs.cxx b/sfx2/source/dialog/basedlgs.cxx index c97560e75406..2b76b9cefc22 100644 --- a/sfx2/source/dialog/basedlgs.cxx +++ b/sfx2/source/dialog/basedlgs.cxx @@ -394,6 +394,19 @@ SfxModelessDialogController::SfxModelessDialogController(SfxBindings* pBindinx, Init(pBindinx, pCW); } +/* [Description] + + Fills a SfxChildWinInfo with specific data from SfxModelessDialog, + so that it can be written in the INI file. It is assumed that rinfo + receives all other possible relevant data in the ChildWindow class. + ModelessDialogs have no specific information, so that the base + implementation does nothing and therefore must not be called. +*/ +void SfxModelessDialogController::FillInfo(SfxChildWinInfo& rInfo) const +{ + rInfo.aSize = m_xDialog->get_size(); +} + void SfxModelessDialogController::Init(SfxBindings *pBindinx, SfxChildWindow *pCW) { m_pBindings = pBindinx; |