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 | 4a956d892ad7f9fe7244862d1c5a54402773bc84 (patch) | |
tree | a6f0ff97c132df6289e3022ade6de9e8e119044f /shell | |
parent | 2eabaa6afe35fd05b39f86f3f3d9c22fa626b95a (diff) | |
parent | f5fe1aa15611d808e45fe77a393f3dd8f9304469 (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 8d9152ae0c40..3ec2536af2ff 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; |