diff options
author | Jan Holesovsky <kendy@suse.cz> | 2010-12-30 02:33:18 +0100 |
---|---|---|
committer | Norbert Thiebaud <nthiebaud@gmail.com> | 2010-12-30 08:27:17 -0600 |
commit | f5fe1aa15611d808e45fe77a393f3dd8f9304469 (patch) | |
tree | bcdc7f8aaa5293c461dc04e39adcfed905035329 /shell/source | |
parent | 7b93bae8af21fd61e6f804742ae937dd8100d66a (diff) |
Do not block when launching firefox, fdo#32427.
Diffstat (limited to 'shell/source')
-rw-r--r-- | shell/source/unix/exec/shellexec.cxx | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/shell/source/unix/exec/shellexec.cxx b/shell/source/unix/exec/shellexec.cxx index 1d52eab31618..b9c0b2caae40 100644 --- a/shell/source/unix/exec/shellexec.cxx +++ b/shell/source/unix/exec/shellexec.cxx @@ -282,7 +282,13 @@ void SAL_CALL ShellExec::execute( const OUString& aCommand, const OUString& aPar pDesktopLaunch = NULL; } - OString cmd = aBuffer.makeStringAndClear(); + OString cmd = +#ifdef LINUX + // avoid blocking (call it in background) + OStringBuffer().append( "( " ).append( aBuffer ).append( " ) &" ).makeStringAndClear(); +#else + aBuffer.makeStringAndClear(); +#endif if ( 0 != pclose(popen(cmd.getStr(), "w")) ) { int nerr = errno; |