summaryrefslogtreecommitdiff
path: root/vcl/source/window/clipping.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'vcl/source/window/clipping.cxx')
-rw-r--r--vcl/source/window/clipping.cxx35
1 files changed, 16 insertions, 19 deletions
diff --git a/vcl/source/window/clipping.cxx b/vcl/source/window/clipping.cxx
index 1468e22f2cad..13989cd09b49 100644
--- a/vcl/source/window/clipping.cxx
+++ b/vcl/source/window/clipping.cxx
@@ -607,7 +607,7 @@ void Window::ImplCalcOverlapRegionOverlaps( const vcl::Region& rInterRegion, vcl
}
void Window::ImplCalcOverlapRegion( const Rectangle& rSourceRect, vcl::Region& rRegion,
- bool bChildren, bool bParent, bool bSiblings )
+ bool bChildren, bool bSiblings )
{
vcl::Region aRegion( rSourceRect );
if ( mpWindowImpl->mbWinRegion )
@@ -618,29 +618,26 @@ void Window::ImplCalcOverlapRegion( const Rectangle& rSourceRect, vcl::Region& r
ImplCalcOverlapRegionOverlaps( aRegion, rRegion );
// Parent-Boundaries
- if ( bParent )
+ pWindow = this;
+ if ( !ImplIsOverlapWindow() )
{
- pWindow = this;
- if ( !ImplIsOverlapWindow() )
- {
- pWindow = ImplGetParent();
- do
- {
- aTempRegion = aRegion;
- pWindow->ImplExcludeWindowRegion( aTempRegion );
- rRegion.Union( aTempRegion );
- if ( pWindow->ImplIsOverlapWindow() )
- break;
- pWindow = pWindow->ImplGetParent();
- }
- while ( pWindow );
- }
- if ( pWindow && !pWindow->mpWindowImpl->mbFrame )
+ pWindow = ImplGetParent();
+ do
{
aTempRegion = aRegion;
- aTempRegion.Exclude( Rectangle( Point( 0, 0 ), Size( mpWindowImpl->mpFrameWindow->mnOutWidth, mpWindowImpl->mpFrameWindow->mnOutHeight ) ) );
+ pWindow->ImplExcludeWindowRegion( aTempRegion );
rRegion.Union( aTempRegion );
+ if ( pWindow->ImplIsOverlapWindow() )
+ break;
+ pWindow = pWindow->ImplGetParent();
}
+ while ( pWindow );
+ }
+ if ( pWindow && !pWindow->mpWindowImpl->mbFrame )
+ {
+ aTempRegion = aRegion;
+ aTempRegion.Exclude( Rectangle( Point( 0, 0 ), Size( mpWindowImpl->mpFrameWindow->mnOutWidth, mpWindowImpl->mpFrameWindow->mnOutHeight ) ) );
+ rRegion.Union( aTempRegion );
}
// Siblings