diff options
author | Rene Engelhard <rene@debian.org> | 2011-01-02 01:12:16 +0100 |
---|---|---|
committer | Rene Engelhard <rene@debian.org> | 2011-01-02 01:12:16 +0100 |
commit | 8cd3b5afc1b7794bdff2eeaeb75f985c466a3b00 (patch) | |
tree | 4c28a581dc5f130b53e6b35ebf1fc40f844e0578 /shell | |
parent | 7b4217bf9a06ae00e9870c2794c8d7ce9a137b94 (diff) | |
parent | e88835014fe5475cd019c0512a784cad8c3a4c25 (diff) |
Merge remote branch 'origin/libreoffice-3-3'
Diffstat (limited to 'shell')
-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 027087a08a..b6eb6040cf 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; |