diff options
-rw-r--r-- | nx-X11/programs/Xserver/hw/nxagent/Args.c | 8 | ||||
-rw-r--r-- | nx-X11/programs/Xserver/hw/nxagent/Args.h | 1 | ||||
-rw-r--r-- | nx-X11/programs/Xserver/hw/nxagent/Display.c | 3 |
3 files changed, 12 insertions, 0 deletions
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Args.c b/nx-X11/programs/Xserver/hw/nxagent/Args.c index 07e967065..5c5a1e8f8 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/Args.c +++ b/nx-X11/programs/Xserver/hw/nxagent/Args.c @@ -103,6 +103,7 @@ extern int _XGetBitsPerPixel(Display *dpy, int depth); extern char dispatchExceptionAtReset; char nxagentDisplayName[1024]; +Bool nxagentSynchronize = False; char nxagentShadowDisplayName[1024] = {0}; @@ -374,6 +375,13 @@ int ddxProcessArgument(int argc, char *argv[], int i) return 0; } + if (!strcmp(argv[i], "-sync")) { + if (++i < argc) { + nxagentSynchronize = True; + return 1; + } + } + if (!strcmp(argv[i], "-full")) { nxagentFullGeneration = True; return 1; diff --git a/nx-X11/programs/Xserver/hw/nxagent/Args.h b/nx-X11/programs/Xserver/hw/nxagent/Args.h index 85734be23..a1753d841 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/Args.h +++ b/nx-X11/programs/Xserver/hw/nxagent/Args.h @@ -50,6 +50,7 @@ extern char nxagentShadowDisplayName[]; extern char nxagentWindowName[]; extern char nxagentDialogName[]; +extern Bool nxagentSynchronize; extern Bool nxagentFullGeneration; extern int nxagentDefaultClass; extern Bool nxagentUserDefaultClass; diff --git a/nx-X11/programs/Xserver/hw/nxagent/Display.c b/nx-X11/programs/Xserver/hw/nxagent/Display.c index b01d66cb0..862ce57d0 100644 --- a/nx-X11/programs/Xserver/hw/nxagent/Display.c +++ b/nx-X11/programs/Xserver/hw/nxagent/Display.c @@ -1217,6 +1217,9 @@ FIXME: The agent should never exit the program with a FatalError() FatalError("Unable to open display '%s'.\n", nxagentDisplayName); } + if (nxagentSynchronize) + XSynchronize(nxagentDisplay, True); + nxagentXConnectionNumber = XConnectionNumber(nxagentDisplay); #ifdef TEST |