diff options
author | Michael Meeks <michael.meeks@suse.com> | 2011-11-08 17:52:37 +0000 |
---|---|---|
committer | Michael Meeks <michael.meeks@suse.com> | 2011-11-08 17:52:37 +0000 |
commit | 62ebb119cfb42adc5e007fb77f68d56b40de2a85 (patch) | |
tree | 01544b8059f3bc9189fb8dc6808980f749843f40 /desktop | |
parent | d3d8998a2ccc9d4105ebb7f137aed06bdde7abfc (diff) |
don't demonize if we are passed an --accept line for UNO remote control
Diffstat (limited to 'desktop')
-rw-r--r-- | desktop/unx/source/args.c | 33 | ||||
-rw-r--r-- | desktop/unx/source/args.h | 1 | ||||
-rw-r--r-- | desktop/unx/source/start.c | 9 |
3 files changed, 26 insertions, 17 deletions
diff --git a/desktop/unx/source/args.c b/desktop/unx/source/args.c index 367bac2c7e90..c889e6c3d430 100644 --- a/desktop/unx/source/args.c +++ b/desktop/unx/source/args.c @@ -48,29 +48,33 @@ static struct { unsigned int bInhibitSplash : 1; unsigned int bInhibitPagein : 1; unsigned int bInhibitJavaLdx : 1; + unsigned int bInhibitDemon : 1; const char *pPageinType; } pArgDescr[] = { /* have a trailing argument */ - { "pt", 1, 0, 0, 0, NULL }, - { "display", 1, 0, 0, 0, NULL }, + { "pt", 1, 0, 0, 0, 0, NULL }, + { "display", 1, 0, 0, 0, 0, NULL }, /* no splash */ - { "nologo", 0, 1, 0, 0, NULL }, - { "headless", 0, 1, 0, 0, NULL }, - { "invisible", 0, 1, 0, 0, NULL }, - { "minimized", 0, 1, 0, 0, NULL }, + { "nologo", 0, 1, 0, 0, 0, NULL }, + { "headless", 0, 1, 0, 0, 0, NULL }, + { "invisible", 0, 1, 0, 0, 0, NULL }, + { "minimized", 0, 1, 0, 0, 0, NULL }, /* pagein bits */ - { "writer", 0, 0, 0, 0, "pagein-writer" }, - { "calc", 0, 0, 0, 0, "pagein-calc" }, - { "draw", 0, 0, 0, 0, "pagein-draw" }, - { "impress", 0, 0, 0, 0, "pagein-impress" }, + { "writer", 0, 0, 0, 0, 0, "pagein-writer" }, + { "calc", 0, 0, 0, 0, 0, "pagein-calc" }, + { "draw", 0, 0, 0, 0, 0, "pagein-draw" }, + { "impress", 0, 0, 0, 0, 0, "pagein-impress" }, /* nothing much */ - { "version", 0, 1, 1, 1, NULL }, - { "help", 0, 1, 1, 1, NULL }, - { "h", 0, 1, 1, 1, NULL }, - { "?", 0, 1, 1, 1, NULL }, + { "version", 0, 1, 1, 1, 0, NULL }, + { "help", 0, 1, 1, 1, 0, NULL }, + { "h", 0, 1, 1, 1, 0, NULL }, + { "?", 0, 1, 1, 1, 0, NULL }, + + /* UNO remote controlled process */ + { "accept", 0, 0, 0, 0, 1, NULL }, }; Args *args_parse (void) @@ -131,6 +135,7 @@ Args *args_parse (void) args->bInhibitSplash |= pArgDescr[j].bInhibitSplash; args->bInhibitPagein |= pArgDescr[j].bInhibitPagein; args->bInhibitJavaLdx |= pArgDescr[j].bInhibitJavaLdx; + args->bInhibitDemon |= pArgDescr[j].bInhibitDemon; if (pArgDescr[j].pPageinType) args->pPageinType = pArgDescr[j].pPageinType; } diff --git a/desktop/unx/source/args.h b/desktop/unx/source/args.h index 4a0cb55ffcde..0f1f114447f5 100644 --- a/desktop/unx/source/args.h +++ b/desktop/unx/source/args.h @@ -38,6 +38,7 @@ typedef struct { sal_Bool bInhibitSplash; // should we show a splash screen sal_Bool bInhibitPagein; // should we run pagein ? sal_Bool bInhibitJavaLdx; // should we run javaldx ? + sal_Bool bInhibitDemon; // we want to match the lifecycle of soffice.bin sal_uInt32 nArgsEnv; // number of -env: style args sal_uInt32 nArgsTotal; // number of -env: as well as -writer style args diff --git a/desktop/unx/source/start.c b/desktop/unx/source/start.c index d62713129284..9d95547856b4 100644 --- a/desktop/unx/source/start.c +++ b/desktop/unx/source/start.c @@ -882,9 +882,12 @@ SAL_IMPLEMENT_MAIN_WITH_ARGS( argc, argv ) splash = NULL; bShortWait = sal_False; - /* Since a client can't distinguish between a first-start and - a factory re-use, we return control to them here. */ - daemon( 1 /* don't chdir */, 1 /* don't re-direct output */ ); + if (!args->bInhibitDemon) + { + /* Since a client can't distinguish between a first-start and + a factory re-use, we return control to them here. */ + daemon( 1 /* don't chdir */, 1 /* don't re-direct output */ ); + } } #if OSL_DEBUG_LEVEL > 1 |