From cd24d2524f2c2da51f982015f1b027003b192808 Mon Sep 17 00:00:00 2001 From: Michael Stahl Date: Sun, 12 Feb 2012 21:54:42 +0100 Subject: [PATCH] extensions: plugin: UNX: don't crash headless --- extensions/source/plugin/base/xplugin.cxx | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/extensions/source/plugin/base/xplugin.cxx b/extensions/source/plugin/base/xplugin.cxx index b604b211e379..261b4e6507a3 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 SetSysPlugDataParentView(*pEnvData); #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;