summaryrefslogtreecommitdiff
path: root/toolkit
diff options
context:
space:
mode:
authorKurt Zenker <kz@openoffice.org>2005-01-21 15:47:07 +0000
committerKurt Zenker <kz@openoffice.org>2005-01-21 15:47:07 +0000
commit8034ef19c08ffaac8091fe8a6b9abc80e934b9be (patch)
treece77ae3dea6f42d5c1ab1f7e5fbb0b2a26fb8e63 /toolkit
parent65d177a59711dae990ee1132f5a2dad6d7b02806 (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.cxx28
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 )