summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--vcl/unx/inc/plugins/kde/kdedata.hxx2
-rw-r--r--vcl/unx/inc/salframe.h4
-rw-r--r--vcl/unx/kde/salnativewidgets-kde.cxx5
-rw-r--r--vcl/unx/kde4/KDESalFrame.cxx5
-rw-r--r--vcl/unx/kde4/KDESalFrame.hxx2
-rw-r--r--vcl/unx/source/window/salframe.cxx11
6 files changed, 17 insertions, 12 deletions
diff --git a/vcl/unx/inc/plugins/kde/kdedata.hxx b/vcl/unx/inc/plugins/kde/kdedata.hxx
index 831621e38cc1..04730b39fad2 100644
--- a/vcl/unx/inc/plugins/kde/kdedata.hxx
+++ b/vcl/unx/inc/plugins/kde/kdedata.hxx
@@ -75,7 +75,7 @@ public:
virtual SalGraphics* GetGraphics();
virtual void ReleaseGraphics( SalGraphics *pGraphics );
- virtual void updateGraphics();
+ virtual void updateGraphics( bool bClear );
virtual void UpdateSettings( AllSettings& rSettings );
virtual void Show( BOOL bVisible, BOOL bNoActivate );
};
diff --git a/vcl/unx/inc/salframe.h b/vcl/unx/inc/salframe.h
index c640b0398a97..8dad0350a937 100644
--- a/vcl/unx/inc/salframe.h
+++ b/vcl/unx/inc/salframe.h
@@ -212,7 +212,9 @@ public:
virtual SalGraphics* GetGraphics();
virtual void ReleaseGraphics( SalGraphics* pGraphics );
- virtual void updateGraphics( Drawable drawable );
+ // call with true to clear graphics (setting None as drawable)
+ // call with false to setup graphics with window (GetWindow())
+ virtual void updateGraphics( bool bClear );
virtual BOOL PostEvent( void* pData );
diff --git a/vcl/unx/kde/salnativewidgets-kde.cxx b/vcl/unx/kde/salnativewidgets-kde.cxx
index 8046d22d75d3..8e294c0adecc 100644
--- a/vcl/unx/kde/salnativewidgets-kde.cxx
+++ b/vcl/unx/kde/salnativewidgets-kde.cxx
@@ -2073,12 +2073,13 @@ void KDESalFrame::ReleaseGraphics( SalGraphics *pGraphics )
}
}
-void KDESalFrame::updateGraphics()
+void KDESalFrame::updateGraphics( bool bClear )
{
+ Drawable aDrawable = bClear ? None : GetWindow();
for( int i = 0; i < nMaxGraphics; i++ )
{
if( m_aGraphics[i].bInUse )
- m_aGraphics[i].pGraphics->SetDrawable( GetWindow(), GetScreenNumber() );
+ m_aGraphics[i].pGraphics->SetDrawable( aDrawable, GetScreenNumber() );
}
}
diff --git a/vcl/unx/kde4/KDESalFrame.cxx b/vcl/unx/kde4/KDESalFrame.cxx
index 202d3dbcd517..6177c4b2896a 100644
--- a/vcl/unx/kde4/KDESalFrame.cxx
+++ b/vcl/unx/kde4/KDESalFrame.cxx
@@ -363,12 +363,13 @@ void KDESalFrame::ReleaseGraphics( SalGraphics *pGraphics )
}
}
-void KDESalFrame::updateGraphics()
+void KDESalFrame::updateGraphics( bool bClear )
{
+ Drawable aDrawable = bClear ? None : GetWindow();
for( int i = 0; i < nMaxGraphics; i++ )
{
if( m_aGraphics[i].bInUse )
- m_aGraphics[i].pGraphics->SetDrawable( GetWindow(), GetScreenNumber() );
+ m_aGraphics[i].pGraphics->SetDrawable( aDrawable, GetScreenNumber() );
}
}
diff --git a/vcl/unx/kde4/KDESalFrame.hxx b/vcl/unx/kde4/KDESalFrame.hxx
index 11a22bd93ba5..de3a5af189ee 100644
--- a/vcl/unx/kde4/KDESalFrame.hxx
+++ b/vcl/unx/kde4/KDESalFrame.hxx
@@ -52,7 +52,7 @@ class KDESalFrame : public X11SalFrame
virtual SalGraphics* GetGraphics();
virtual void ReleaseGraphics( SalGraphics *pGraphics );
- virtual void updateGraphics();
+ virtual void updateGraphics( bool bClear );
virtual void UpdateSettings( AllSettings& rSettings );
virtual void Show( BOOL bVisible, BOOL bNoActivate );
}; \ No newline at end of file
diff --git a/vcl/unx/source/window/salframe.cxx b/vcl/unx/source/window/salframe.cxx
index 37f995838d48..68c99e05da77 100644
--- a/vcl/unx/source/window/salframe.cxx
+++ b/vcl/unx/source/window/salframe.cxx
@@ -930,12 +930,13 @@ void X11SalFrame::ReleaseGraphics( SalGraphics *pGraphics )
pGraphics_ = NULL;
}
-void X11SalFrame::updateGraphics( Drawable drawable )
+void X11SalFrame::updateGraphics( bool bClear )
{
+ Drawable aDrawable = bClear ? None : GetWindow();
if( pGraphics_ )
- pGraphics_->SetDrawable( drawable, m_nScreen );
+ pGraphics_->SetDrawable( aDrawable, m_nScreen );
if( pFreeGraphics_ )
- pFreeGraphics_->SetDrawable( drawable, m_nScreen );
+ pFreeGraphics_->SetDrawable( aDrawable, m_nScreen );
}
// -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
@@ -2726,7 +2727,7 @@ void X11SalFrame::createNewWindow( XLIB_Window aNewParent, int nScreen )
}
// first deinit frame
- updateGraphics(None);
+ updateGraphics(true);
if( mpInputContext )
{
mpInputContext->UnsetICFocus( this );
@@ -2749,7 +2750,7 @@ void X11SalFrame::createNewWindow( XLIB_Window aNewParent, int nScreen )
Init( nStyle_ & ~SAL_FRAME_STYLE_PLUG, nScreen, NULL, true );
// update graphics if necessary
- updateGraphics(GetWindow());
+ updateGraphics(false);
if( m_aTitle.Len() )
SetTitle( m_aTitle );