diff options
author | Michael Meeks <michael.meeks@suse.com> | 2011-10-03 12:21:34 +0100 |
---|---|---|
committer | Michael Meeks <michael.meeks@suse.com> | 2011-10-25 13:41:51 +0100 |
commit | a4d7b25e7a006c3105a226343bfb52d9e1bc356a (patch) | |
tree | d84cd975f087ca9fbb24fa0de2e5ae168b9eff72 /vcl/unx/generic/app/saldata.cxx | |
parent | 9b51808742ae4236b582b2693578e8db8e126a13 (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.cxx | 28 |
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 ); |