[ooo-build-commit] Branch 'ooo/OOO320' - sw/source

Jan Holesovsky kendy at kemper.freedesktop.org
Fri Dec 11 20:55:25 PST 2009


 sw/source/core/view/viewsh.cxx |   31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

New commits:
commit 039fa47b6ed780eb99bcd330aae8a548f45d6ebc
Author: Oliver Bolte <obo at openoffice.org>
Date:   Fri Dec 11 10:57:41 2009 +0000

    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

diff --git a/sw/source/core/view/viewsh.cxx b/sw/source/core/view/viewsh.cxx
index fa03887..17fe093 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;


More information about the ooo-build-commit mailing list