summaryrefslogtreecommitdiff
path: root/extensions
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2012-02-12 21:54:42 +0100
committerMichael Meeks <michael.meeks@suse.com>2012-02-20 16:55:21 +0000
commit187af294547bc611c2454eaaec945324ed897f5a (patch)
tree61a896bd7ea57abec1ab9b87591daacaf13221a7 /extensions
parenta59d3769e333ca85de1bb307251a95249827236c (diff)
extensions: plugin: UNX: don't crash headless
Signed-off-by: Michael Meeks <michael.meeks@suse.com>
Diffstat (limited to 'extensions')
-rw-r--r--extensions/source/plugin/base/xplugin.cxx16
1 files changed, 13 insertions, 3 deletions
diff --git a/extensions/source/plugin/base/xplugin.cxx b/extensions/source/plugin/base/xplugin.cxx
index d8acf40d4598..f0fa33b9feab 100644
--- a/extensions/source/plugin/base/xplugin.cxx
+++ b/extensions/source/plugin/base/xplugin.cxx
@@ -523,7 +523,10 @@ void XPlugin_Impl::loadPlugin()
}
const SystemEnvData* pEnvData = getSysChildSysData();
#if defined( UNX ) && !(defined(QUARTZ))
- XSync( (Display*)pEnvData->pDisplay, False );
+ if (pEnvData->pDisplay) // headless?
+ {
+ XSync( (Display*)pEnvData->pDisplay, False );
+ }
#endif
if( ! getPluginComm() )
{
@@ -568,8 +571,15 @@ void XPlugin_Impl::loadPlugin()
// m_aNPWindow is set up in the MacPluginComm from the view
m_aSysPlugData.m_pParentView = pEnvData->pView;
#elif defined( UNX )
- XSync( (Display*)pEnvData->pDisplay, False );
- m_aNPWindow.window = (void*)pEnvData->aWindow;
+ if (pEnvData->pDisplay) // headless?
+ {
+ XSync( (Display*)pEnvData->pDisplay, False );
+ m_aNPWindow.window = (void*)pEnvData->aWindow;
+ }
+ else
+ {
+ m_aNPWindow.window = NULL;
+ }
m_aNPWindow.ws_info = NULL;
#else
m_aNPWindow.window = (void*)pEnvData->hWnd;