aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/Args.c8
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/Args.h1
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/Display.c3
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