summaryrefslogtreecommitdiff
path: root/shell
diff options
context:
space:
mode:
authorRene Engelhard <rene@debian.org>2011-01-02 01:12:16 +0100
committerRene Engelhard <rene@debian.org>2011-01-02 01:12:16 +0100
commit8cd3b5afc1b7794bdff2eeaeb75f985c466a3b00 (patch)
tree4c28a581dc5f130b53e6b35ebf1fc40f844e0578 /shell
parent7b4217bf9a06ae00e9870c2794c8d7ce9a137b94 (diff)
parente88835014fe5475cd019c0512a784cad8c3a4c25 (diff)
Merge remote branch 'origin/libreoffice-3-3'
Diffstat (limited to 'shell')
-rw-r--r--shell/source/unix/exec/shellexec.cxx8
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;