summaryrefslogtreecommitdiff
path: root/shell
diff options
context:
space:
mode:
authorJan Holesovsky <kendy@suse.cz>2010-12-30 02:33:18 +0100
committerNorbert Thiebaud <nthiebaud@gmail.com>2010-12-30 08:27:17 -0600
commitf5fe1aa15611d808e45fe77a393f3dd8f9304469 (patch)
treebcdc7f8aaa5293c461dc04e39adcfed905035329 /shell
parent7b93bae8af21fd61e6f804742ae937dd8100d66a (diff)
Do not block when launching firefox, fdo#32427.
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 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;