summaryrefslogtreecommitdiff
path: root/vcl/unx/generic/app/saldata.cxx
diff options
context:
space:
mode:
authorMichael Meeks <michael.meeks@suse.com>2011-10-03 12:21:34 +0100
committerMichael Meeks <michael.meeks@suse.com>2011-10-25 13:41:51 +0100
commita4d7b25e7a006c3105a226343bfb52d9e1bc356a (patch)
treed84cd975f087ca9fbb24fa0de2e5ae168b9eff72 /vcl/unx/generic/app/saldata.cxx
parent9b51808742ae4236b582b2693578e8db8e126a13 (diff)
generic: create shared display class and re-factor to use it
Diffstat (limited to 'vcl/unx/generic/app/saldata.cxx')
-rw-r--r--vcl/unx/generic/app/saldata.cxx28
1 files changed, 16 insertions, 12 deletions
diff --git a/vcl/unx/generic/app/saldata.cxx b/vcl/unx/generic/app/saldata.cxx
index 978199ddf73d..99136ad76d75 100644
--- a/vcl/unx/generic/app/saldata.cxx
+++ b/vcl/unx/generic/app/saldata.cxx
@@ -232,12 +232,16 @@ static const char* XRequest[] = {
int X11SalData::XErrorHdl( Display *pDisplay, XErrorEvent *pEvent )
{
+ OSL_ASSERT( GetX11SalData()->GetType() == SAL_DATA_UNX );
+
GetX11SalData()->XError( pDisplay, pEvent );
return 0;
}
int X11SalData::XIOErrorHdl( Display * )
{
+ OSL_ASSERT( GetX11SalData()->GetType() == SAL_DATA_UNX );
+
/* #106197# hack: until a real shutdown procedure exists
* _exit ASAP
*/
@@ -264,34 +268,34 @@ int X11SalData::XIOErrorHdl( Display * )
// -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
#include <pthread.h>
-X11SalData::X11SalData()
+X11SalData::X11SalData( SalGenericDataType t )
+ : SalGenericData( t )
{
pXLib_ = NULL;
- m_pSalDisplay = NULL;
m_pInstance = NULL;
m_pPlugin = NULL;
hMainThread_ = pthread_self();
}
-const rtl::OUString& X11SalData::GetLocalHostName()
+X11SalData::~X11SalData()
{
- if (!maLocalHostName.getLength())
- osl_getLocalHostname( &maLocalHostName.pData );
- return maLocalHostName;
+ DeleteDisplay();
}
-X11SalData::~X11SalData()
+void X11SalData::Dispose()
{
- DeleteDisplay();
+ deInitNWF();
+ delete GetDisplay();
+ SetSalData( NULL );
}
void X11SalData::DeleteDisplay()
{
- delete m_pSalDisplay;
- m_pSalDisplay = NULL;
+ delete GetDisplay();
+ SetDisplay( NULL );
delete pXLib_;
- pXLib_ = NULL;
+ pXLib_ = NULL;
}
void X11SalData::Init()
@@ -558,7 +562,7 @@ void SalXLib::XError( Display *pDisplay, XErrorEvent *pEvent )
return;
- if( pDisplay != GetX11SalData()->GetDisplay()->GetDisplay() )
+ if( pDisplay != GetGenericData()->GetSalDisplay()->GetDisplay() )
return;
PrintXError( pDisplay, pEvent );