[Libreoffice-commits] .: desktop/unx
Michael Meeks
michael at kemper.freedesktop.org
Tue Nov 8 09:52:40 PST 2011
desktop/unx/source/args.c | 33 +++++++++++++++++++--------------
desktop/unx/source/args.h | 1 +
desktop/unx/source/start.c | 9 ++++++---
3 files changed, 26 insertions(+), 17 deletions(-)
New commits:
commit 62ebb119cfb42adc5e007fb77f68d56b40de2a85
Author: Michael Meeks <michael.meeks at suse.com>
Date: Tue Nov 8 17:52:37 2011 +0000
don't demonize if we are passed an --accept line for UNO remote control
diff --git a/desktop/unx/source/args.c b/desktop/unx/source/args.c
index 367bac2..c889e6c 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 4a0cb55..0f1f114 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 d627131..9d95547 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
More information about the Libreoffice-commits
mailing list