Lines 822-828
Link Here
|
822 |
if ( pF && pF->GetViewShell() ) |
822 |
if ( pF && pF->GetViewShell() ) |
823 |
pClient = pF->GetViewShell()->GetIPClient(); |
823 |
pClient = pF->GetViewShell()->GetIPClient(); |
824 |
|
824 |
|
825 |
if ( pClient ) |
825 |
bool bForceArrange( false ); |
|
|
826 |
for ( USHORT n = 0; n < pChildWins->Count(); ++n ) |
827 |
{ |
828 |
SfxChildWin_Impl* pCW = (*pChildWins)[ n ]; |
829 |
SfxChildWindow* pChild = pCW->pWin; |
830 |
if ( pChild && ( pCW->aInfo.nFlags & SFX_CHILDWIN_NEVERHIDEACTIVEOLE ) && pCW->aInfo.bVisible ) |
831 |
{ |
832 |
bForceArrange = true; |
833 |
break; |
834 |
} |
835 |
} |
836 |
|
837 |
if ( pClient && !bForceArrange ) |
826 |
return; |
838 |
return; |
827 |
|
839 |
|
828 |
aClientArea = GetTopRect_Impl(); |
840 |
aClientArea = GetTopRect_Impl(); |
Lines 832-838
Link Here
|
832 |
SvBorder aBorder; |
844 |
SvBorder aBorder; |
833 |
if ( nChilds ) |
845 |
if ( nChilds ) |
834 |
{ |
846 |
{ |
835 |
if ( IsVisible_Impl() ) |
847 |
if ( IsVisible_Impl() || bForceArrange ) |
836 |
aBorder = Arrange_Impl(); |
848 |
aBorder = Arrange_Impl(); |
837 |
} |
849 |
} |
838 |
|
850 |
|
Lines 1143-1148
Link Here
|
1143 |
DBG_CHKTHIS(SfxWorkWindow, 0); |
1155 |
DBG_CHKTHIS(SfxWorkWindow, 0); |
1144 |
|
1156 |
|
1145 |
bool bInvisible = ( !IsVisible_Impl() || ( !pWorkWin->IsReallyVisible() && !pWorkWin->IsReallyShown() )); |
1157 |
bool bInvisible = ( !IsVisible_Impl() || ( !pWorkWin->IsReallyVisible() && !pWorkWin->IsReallyShown() )); |
|
|
1158 |
|
1159 |
SfxInPlaceClient* pClient = 0; |
1160 |
SfxViewFrame* pViewFrame = pBindings->GetDispatcher_Impl()->GetFrame(); |
1161 |
if ( pViewFrame && pViewFrame->GetViewShell() ) |
1162 |
{ |
1163 |
pClient = pViewFrame->GetViewShell()->GetIPClient(); |
1164 |
} |
1146 |
|
1165 |
|
1147 |
SfxChild_Impl *pCli = 0; |
1166 |
SfxChild_Impl *pCli = 0; |
1148 |
for ( USHORT nPos = 0; nPos < pChilds->Count(); ++nPos ) |
1167 |
for ( USHORT nPos = 0; nPos < pChilds->Count(); ++nPos ) |
Lines 1173-1178
Link Here
|
1173 |
// visible. |
1192 |
// visible. |
1174 |
sal_uInt16 nFlags = pCW->aInfo.nFlags; |
1193 |
sal_uInt16 nFlags = pCW->aInfo.nFlags; |
1175 |
bVisible = !bInvisible || ( bInvisible & (( nFlags & SFX_CHILDWIN_NEVERHIDE ) != 0 )); |
1194 |
bVisible = !bInvisible || ( bInvisible & (( nFlags & SFX_CHILDWIN_NEVERHIDE ) != 0 )); |
|
|
1195 |
bVisible = bVisible || ( pClient && ( nFlags & SFX_CHILDWIN_NEVERHIDEACTIVEOLE ) ); |
1176 |
} |
1196 |
} |
1177 |
|
1197 |
|
1178 |
if ( CHILD_VISIBLE == (pCli->nVisible & CHILD_VISIBLE) && bVisible ) |
1198 |
if ( CHILD_VISIBLE == (pCli->nVisible & CHILD_VISIBLE) && bVisible ) |
Lines 1645-1652
Link Here
|
1645 |
|
1665 |
|
1646 |
void SfxWorkWindow::CreateChildWin_Impl( SfxChildWin_Impl *pCW, BOOL bSetFocus ) |
1666 |
void SfxWorkWindow::CreateChildWin_Impl( SfxChildWin_Impl *pCW, BOOL bSetFocus ) |
1647 |
{ |
1667 |
{ |
1648 |
if ( pCW->aInfo.bVisible != 42 ) |
1668 |
pCW->aInfo.bVisible = TRUE; |
1649 |
pCW->aInfo.bVisible = TRUE; |
|
|
1650 |
|
1669 |
|
1651 |
SfxChildWindow *pChildWin = SfxChildWindow::CreateChildWindow( pCW->nId, pWorkWin, &GetBindings(), pCW->aInfo); |
1670 |
SfxChildWindow *pChildWin = SfxChildWindow::CreateChildWindow( pCW->nId, pWorkWin, &GetBindings(), pCW->aInfo); |
1652 |
if (pChildWin) |
1671 |
if (pChildWin) |