diff options
author | Oliver Bolte <obo@openoffice.org> | 2009-12-11 10:57:41 +0000 |
---|---|---|
committer | Oliver Bolte <obo@openoffice.org> | 2009-12-11 10:57:41 +0000 |
commit | 039fa47b6ed780eb99bcd330aae8a548f45d6ebc (patch) | |
tree | 52673b65da70879d7847bbbcb5699f085493e278 | |
parent | 7f8a85b3eb5448ca716f17131872a740f4bec454 (diff) |
CWS-TOOLING: integrate CWS ooo32gsl09
2009-12-07 16:21:13 +0100 tl r277744 : #i105988# accessibility crash
2009-12-07 14:59:17 +0100 od r277743 : #i107365# method <ViewShell::ImplEndAction(..)>
- take care of transparent child windows after direct paint.
2009-12-07 12:22:08 +0100 fs r277739 : #i107485#
2009-12-04 15:28:51 +0100 pl r277736 : #i107358# fix uninitialized value (thanks cmc)
2009-12-04 15:24:57 +0100 pl r277735 : #i106833# fix subset font encoding
-rw-r--r-- | sw/source/core/view/viewsh.cxx | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/sw/source/core/view/viewsh.cxx b/sw/source/core/view/viewsh.cxx index fa038871c0..17fe093f6b 100644 --- a/sw/source/core/view/viewsh.cxx +++ b/sw/source/core/view/viewsh.cxx @@ -376,6 +376,37 @@ void ViewShell::ImplEndAction( const BOOL bIdleEnd ) // #i75172# end DrawingLayer paint DLPostPaint2(true); } + + // --> OD 2009-12-03 #i107365# + // Direct paint has been performed. Thus, take care of + // transparent child windows. + if ( GetWin() ) + { + Window& rWindow = *(GetWin()); + if(rWindow.IsChildTransparentModeEnabled() && rWindow.GetChildCount()) + { + const Rectangle aRectanglePixel(rWindow.LogicToPixel(aRect.SVRect())); + + for ( sal_uInt16 a(0); a < rWindow.GetChildCount(); a++ ) + { + Window* pCandidate = rWindow.GetChild(a); + + if ( pCandidate && pCandidate->IsPaintTransparent() ) + { + const Rectangle aCandidatePosSizePixel( + pCandidate->GetPosPixel(), + pCandidate->GetSizePixel()); + + if ( aCandidatePosSizePixel.IsOver(aRectanglePixel) ) + { + pCandidate->Invalidate( INVALIDATE_NOTRANSPARENT|INVALIDATE_CHILDREN ); + pCandidate->Update(); + } + } + } + } + } + // <-- } delete pVout; |