From 9af8fe36148caf42954495fe059500fd26217a7c Mon Sep 17 00:00:00 2001 From: Caolán McNamara Date: Fri, 29 Jan 2016 21:27:22 +0000 Subject: these checks for DockingWindows are all wrong the type is WINDOW_DOCKINGWINDOW not RSC_DOCKINGWINDOW maybe better drop the wrong paths ? But try and do what the original intent might have been. Change-Id: Ibbcf885d82e498d38c1c82b9b647ef3cdd8f146a --- sfx2/source/appl/childwin.cxx | 15 +++++---------- sfx2/source/appl/workwin.cxx | 8 ++++++-- 2 files changed, 11 insertions(+), 12 deletions(-) (limited to 'sfx2') diff --git a/sfx2/source/appl/childwin.cxx b/sfx2/source/appl/childwin.cxx index b8c7d0dd1033..f744948f6eec 100644 --- a/sfx2/source/appl/childwin.cxx +++ b/sfx2/source/appl/childwin.cxx @@ -327,14 +327,11 @@ void SfxChildWindow::SaveStatus(const SfxChildWinInfo& rInfo) pImp->pFact->aInfo = rInfo; } - void SfxChildWindow::SetAlignment(SfxChildAlignment eAlign) { - eChildAlignment = eAlign; } - SfxChildWinInfo SfxChildWindow::GetInfo() const { @@ -348,14 +345,14 @@ SfxChildWinInfo SfxChildWindow::GetInfo() const nMask |= ( WINDOWSTATE_MASK_WIDTH | WINDOWSTATE_MASK_HEIGHT ); aInfo.aWinState = static_cast(pWindow.get())->GetWindowState( nMask ); } - else if ( pWindow->GetType() == RSC_DOCKINGWINDOW ) + else if (DockingWindow* pDockingWindow = dynamic_cast(pWindow.get())) { - if (static_cast(pWindow.get())->GetFloatingWindow() ) - aInfo.aWinState = static_cast(pWindow.get())->GetFloatingWindow()->GetWindowState(); - else + if (pDockingWindow->GetFloatingWindow()) + aInfo.aWinState = pDockingWindow->GetFloatingWindow()->GetWindowState(); + else if (SfxDockingWindow* pSfxDockingWindow = dynamic_cast(pDockingWindow)) { SfxChildWinInfo aTmpInfo; - static_cast(pWindow.get())->FillInfo( aTmpInfo ); + pSfxDockingWindow->FillInfo( aTmpInfo ); aInfo.aExtraString = aTmpInfo.aExtraString; } } @@ -365,13 +362,11 @@ SfxChildWinInfo SfxChildWindow::GetInfo() const return aInfo; } - sal_uInt16 SfxChildWindow::GetPosition() { return pImp->pFact->nPos; } - void SfxChildWindow::InitializeChildWinFactory_Impl(sal_uInt16 nId, SfxChildWinInfo& rInfo) { // load configuration diff --git a/sfx2/source/appl/workwin.cxx b/sfx2/source/appl/workwin.cxx index 17ecd21944e0..7f4d5bbb078c 100644 --- a/sfx2/source/appl/workwin.cxx +++ b/sfx2/source/appl/workwin.cxx @@ -1593,12 +1593,16 @@ void SfxWorkWindow::ConfigChild_Impl(SfxChildIdentifier eChild, { if ( pChild->GetType() == nId ) { - if ( pChild->GetWindow()->GetType() == RSC_DOCKINGWINDOW ) + if (SfxDockingWindow* pSfxDockingWindow = dynamic_cast(pChild->GetWindow())) + { // it's a DockingWindow - pDockWin = static_cast( pChild->GetWindow() ); + pDockWin = pSfxDockingWindow; + } else + { // FloatingWindow or ModelessDialog pWin = pChild->GetWindow(); + } break; } } -- cgit