diff options
Diffstat (limited to 'desktop/unx/source/start.c')
-rw-r--r-- | desktop/unx/source/start.c | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/desktop/unx/source/start.c b/desktop/unx/source/start.c index f1e872efa4c9..2800ef337deb 100644 --- a/desktop/unx/source/start.c +++ b/desktop/unx/source/start.c @@ -831,21 +831,24 @@ SAL_IMPLEMENT_MAIN_WITH_ARGS( argc, argv ) if ( pUsePlugin && !strcmp(pUsePlugin, "svp") ) args->bInhibitSplash = sal_True; - pPipePath = get_pipe_path( args->pAppPath ); - - if ( ( fd = connect_pipe( pPipePath ) ) >= 0 ) + if ( !args->bInhibitPipe ) { - rtl_uString *pCwdPath = NULL; - osl_getProcessWorkingDir( &pCwdPath ); + pPipePath = get_pipe_path( args->pAppPath ); + + if ( ( fd = connect_pipe( pPipePath ) ) >= 0 ) + { + rtl_uString *pCwdPath = NULL; + osl_getProcessWorkingDir( &pCwdPath ); - bSentArgs = send_args( fd, pCwdPath ); + bSentArgs = send_args( fd, pCwdPath ); - close( fd ); - } + close( fd ); + } #if OSL_DEBUG_LEVEL > 1 - else - ustr_debug( "Failed to connect to pipe", pPipePath ); + else + ustr_debug( "Failed to connect to pipe", pPipePath ); #endif + } if ( !bSentArgs ) { @@ -935,7 +938,8 @@ SAL_IMPLEMENT_MAIN_WITH_ARGS( argc, argv ) } /* cleanup */ - rtl_uString_release( pPipePath ); + if ( pPipePath ) + rtl_uString_release( pPipePath ); args_free (args); return status; |