summaryrefslogtreecommitdiff
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
commit4a956d892ad7f9fe7244862d1c5a54402773bc84 (patch)
treea6f0ff97c132df6289e3022ade6de9e8e119044f
parent2eabaa6afe35fd05b39f86f3f3d9c22fa626b95a (diff)
parentf5fe1aa15611d808e45fe77a393f3dd8f9304469 (diff)
Merge remote branch 'origin/libreoffice-3-3'
-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 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;