diff options
author | Kurt Zenker <kz@openoffice.org> | 2005-01-21 15:47:07 +0000 |
---|---|---|
committer | Kurt Zenker <kz@openoffice.org> | 2005-01-21 15:47:07 +0000 |
commit | 8034ef19c08ffaac8091fe8a6b9abc80e934b9be (patch) | |
tree | ce77ae3dea6f42d5c1ab1f7e5fbb0b2a26fb8e63 /toolkit | |
parent | 65d177a59711dae990ee1132f5a2dad6d7b02806 (diff) |
INTEGRATION: CWS dba22 (1.31.2); FILE MERGED
2004/12/09 13:46:24 pl 1.31.2.2: #i38376# enable child transparent mode on default window
2004/12/03 12:55:17 fs 1.31.2.1: #i37023# #i36007# ImplGetCompatiblePeer: forward the graphics to the newly created peer
Diffstat (limited to 'toolkit')
-rw-r--r-- | toolkit/source/controls/unocontrol.cxx | 28 |
1 files changed, 19 insertions, 9 deletions
diff --git a/toolkit/source/controls/unocontrol.cxx b/toolkit/source/controls/unocontrol.cxx index 52fea1b345b8..d5ca2a0f990d 100644 --- a/toolkit/source/controls/unocontrol.cxx +++ b/toolkit/source/controls/unocontrol.cxx @@ -2,9 +2,9 @@ * * $RCSfile: unocontrol.cxx,v $ * - * $Revision: 1.31 $ + * $Revision: 1.32 $ * - * last change: $Author: obo $ $Date: 2004-11-16 10:01:30 $ + * last change: $Author: kz $ $Date: 2005-01-21 16:47:07 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -173,7 +173,10 @@ WorkWindow* lcl_GetDefaultWindow() { static WorkWindow* pW = NULL; if ( !pW ) + { pW = new WorkWindow( NULL, 0 ); + pW->EnableChildTransparentMode(); + } return pW; } @@ -256,12 +259,12 @@ Reference< XWindowPeer > UnoControl::ImplGetCompatiblePeer( sal_Bool bAcceptE mbCreatingCompatiblePeer = sal_True; - Reference< XWindowPeer > xP; + Reference< XWindowPeer > xCompatiblePeer; if ( bAcceptExistingPeer ) - xP = getPeer(); + xCompatiblePeer = getPeer(); - if ( !xP.is() ) + if ( !xCompatiblePeer.is() ) { // Peer unsichtbar erzeugen... sal_Bool bVis = maComponentInfos.bVisible; @@ -277,20 +280,27 @@ Reference< XWindowPeer > UnoControl::ImplGetCompatiblePeer( sal_Bool bAcceptE WorkWindow* pWW; { - osl::Guard< vos::IMutex > aGuard( Application::GetSolarMutex() ); - pWW = lcl_GetDefaultWindow(); + osl::Guard< vos::IMutex > aGuard( Application::GetSolarMutex() ); + pWW = lcl_GetDefaultWindow(); } xMe->createPeer( NULL, pWW->GetComponentInterface( sal_True ) ); - xP = getPeer(); + xCompatiblePeer = getPeer(); setPeer( xCurrentPeer ); + if ( xCompatiblePeer.is() && mxGraphics.is() ) + { + Reference< XView > xPeerView( xCompatiblePeer, UNO_QUERY ); + if ( xPeerView.is() ) + xPeerView->setGraphics( mxGraphics ); + } + if( bVis ) maComponentInfos.bVisible = sal_True; } mbCreatingCompatiblePeer = sal_False; - return xP; + return xCompatiblePeer; } void UnoControl::ImplSetPeerProperty( const ::rtl::OUString& rPropName, const Any& rVal ) |