summaryrefslogtreecommitdiff
path: root/vcl/source/window
diff options
context:
space:
mode:
authorKurt Zenker <kz@openoffice.org>2007-12-12 12:20:34 +0000
committerKurt Zenker <kz@openoffice.org>2007-12-12 12:20:34 +0000
commit6024c2c252c75ed2481db479a53ef1451f047513 (patch)
tree9aa3fd7b05673aa120b559019f13b183d5a5813d /vcl/source/window
parent1a6032f9f2e148d0ed7fe02150e91fa714bfa2b8 (diff)
INTEGRATION: CWS vcl84 (1.264.52); FILE MERGED
2007/12/03 10:02:24 pl 1.264.52.3: RESYNC: (1.264-1.266); FILE MERGED 2007/11/05 15:56:20 pl 1.264.52.2: #i83113# scroll all children to enable back/forth scrolling of windows 2007/10/29 11:13:27 pl 1.264.52.1: #i83080# prevent an error case from crashing
Diffstat (limited to 'vcl/source/window')
-rw-r--r--vcl/source/window/window.cxx52
1 files changed, 26 insertions, 26 deletions
diff --git a/vcl/source/window/window.cxx b/vcl/source/window/window.cxx
index 4353a1d1c6f0..2c250584b121 100644
--- a/vcl/source/window/window.cxx
+++ b/vcl/source/window/window.cxx
@@ -4,9 +4,9 @@
*
* $RCSfile: window.cxx,v $
*
- * $Revision: 1.267 $
+ * $Revision: 1.268 $
*
- * last change: $Author: vg $ $Date: 2007-12-07 11:50:48 $
+ * last change: $Author: kz $ $Date: 2007-12-12 13:20:34 $
*
* The Contents of this file are made available subject to
* the terms of GNU Lesser General Public License Version 2.1.
@@ -767,7 +767,7 @@ void Window::ImplInit( Window* pParent, WinBits nStyle, SystemParentData* pSyste
Window* pRealParent = pParent;
// 3D-Look vererben
- if ( !mpWindowImpl->mbOverlapWin && (pParent->GetStyle() & WB_3DLOOK) )
+ if ( !mpWindowImpl->mbOverlapWin && pParent && (pParent->GetStyle() & WB_3DLOOK) )
nStyle |= WB_3DLOOK;
// Wenn wir einen Border haben, muessen wir ein BorderWindow anlegen
@@ -779,6 +779,11 @@ void Window::ImplInit( Window* pParent, WinBits nStyle, SystemParentData* pSyste
mpWindowImpl->mpBorderWindow = pBorderWin;
pParent = mpWindowImpl->mpBorderWindow;
}
+ else if( !mpWindowImpl->mbFrame && ! pParent )
+ {
+ mpWindowImpl->mbOverlapWin = TRUE;
+ mpWindowImpl->mbFrame = TRUE;
+ }
// insert window in list
ImplInsertWindow( pParent );
@@ -3021,34 +3026,29 @@ void Window::ImplScroll( const Rectangle& rRect,
if ( bScrollChilds )
{
- Rectangle aDestRect( rRect );
Window* pWindow = mpWindowImpl->mpFirstChild;
while ( pWindow )
{
- Rectangle aWinRect( Point( pWindow->mnOutOffX, pWindow->mnOutOffY ),
- Size( pWindow->mnOutWidth, pWindow->mnOutHeight ) );
- if ( aDestRect.IsOver( aWinRect ) )
+ pWindow->mpWindowImpl->mnX += nHorzScroll;
+ pWindow->mpWindowImpl->maPos.X() += nHorzScroll;
+ pWindow->mpWindowImpl->mnY += nVertScroll;
+ pWindow->mpWindowImpl->maPos.Y() += nVertScroll;
+ if ( pWindow->ImplUpdatePos() )
+ pWindow->ImplUpdateSysObjPos();
+ if ( pWindow->IsReallyVisible() )
+ pWindow->ImplSetClipFlag();
+ if ( pWindow->mpWindowImpl->mpClientWindow )
+ pWindow->mpWindowImpl->mpClientWindow->mpWindowImpl->maPos = pWindow->mpWindowImpl->maPos;
+
+ if ( pWindow->IsVisible() )
{
- pWindow->mpWindowImpl->mnX += nHorzScroll;
- pWindow->mpWindowImpl->maPos.X() += nHorzScroll;
- pWindow->mpWindowImpl->mnY += nVertScroll;
- pWindow->mpWindowImpl->maPos.Y() += nVertScroll;
- if ( pWindow->ImplUpdatePos() )
- pWindow->ImplUpdateSysObjPos();
- if ( pWindow->IsReallyVisible() )
- pWindow->ImplSetClipFlag();
- if ( pWindow->mpWindowImpl->mpClientWindow )
- pWindow->mpWindowImpl->mpClientWindow->mpWindowImpl->maPos = pWindow->mpWindowImpl->maPos;
-
- if ( pWindow->IsVisible() )
- {
- pWindow->ImplCallMove();
- }
- else
- {
- pWindow->mpWindowImpl->mbCallMove = TRUE;
- }
+ pWindow->ImplCallMove();
}
+ else
+ {
+ pWindow->mpWindowImpl->mbCallMove = TRUE;
+ }
+
pWindow = pWindow->mpWindowImpl->mpNext;
}
}