aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Gabriel <mike.gabriel@das-netzwerkteam.de>2017-02-09 23:35:00 +0000
committerMike Gabriel <mike.gabriel@das-netzwerkteam.de>2017-03-17 09:40:37 +0100
commit9b934a44772ded19812ed4665265cc43fb751169 (patch)
tree073d055f62f93e29d3c4a6a7e284cca838ba0922
parent86110d6edadef2d9fbcd3ee0d008696bfcf7dcd4 (diff)
downloadnx-libs-9b934a44772ded19812ed4665265cc43fb751169.tar.gz
nx-libs-9b934a44772ded19812ed4665265cc43fb751169.tar.bz2
nx-libs-9b934a44772ded19812ed4665265cc43fb751169.zip
nxagent: Use SetNotifyFd to receive events.
Inspired by X.org commit: commit 55c2e1a3aa587c58a74066724e11e30b3df267b8 Author: Keith Packard <keithp@keithp.com> Date: Mon Dec 7 15:11:33 2015 -0800 xnest: Use SetNotifyFd to receive events Signed-off-by: Keith Packard <keithp@keithp.com> Reviewed-by: Adam Jackson <ajax@redhat.com>
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/Display.c4
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/Init.c7
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/Init.h2
-rw-r--r--nx-X11/programs/Xserver/hw/nxagent/Screen.c2
4 files changed, 12 insertions, 3 deletions
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Display.c b/nx-X11/programs/Xserver/hw/nxagent/Display.c
index 599b335f6..c683751f6 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Display.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Display.c
@@ -2877,7 +2877,7 @@ void nxagentAddXConnection()
"to the device set.\n", nxagentXConnectionNumber);
#endif
- AddEnabledDevice(nxagentXConnectionNumber);
+ SetNotifyFd(XConnectionNumber(nxagentDisplay), nxagentNotifyConnection, X_NOTIFY_READ, NULL);
}
void nxagentRemoveXConnection()
@@ -2887,7 +2887,7 @@ void nxagentRemoveXConnection()
"from the device set.\n", nxagentXConnectionNumber);
#endif
- RemoveEnabledDevice(nxagentXConnectionNumber);
+ RemoveNotifyFd(nxagentXConnectionNumber);
}
/*
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Init.c b/nx-X11/programs/Xserver/hw/nxagent/Init.c
index 218766e06..f15f2cb0a 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Init.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Init.c
@@ -58,6 +58,7 @@ is" without express or implied warranty.
#include "Pointer.h"
#include "Keyboard.h"
#include "Handlers.h"
+#include "Events.h"
#include "Init.h"
#include "Args.h"
#include "Client.h"
@@ -407,6 +408,12 @@ FIXME: These variables, if not removed at all because have probably
blackRoot = TRUE;
}
+void
+nxagentNotifyConnection(int fd, int ready, void *data)
+{
+ nxagentDispatchEvents(NULL);
+}
+
void InitInput(argc, argv)
int argc;
char *argv[];
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Init.h b/nx-X11/programs/Xserver/hw/nxagent/Init.h
index 29b1100e7..34a17067f 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Init.h
+++ b/nx-X11/programs/Xserver/hw/nxagent/Init.h
@@ -49,4 +49,6 @@ extern int nxagentX2go;
extern ServerGrabInfoRec nxagentGrabServerInfo;
+void nxagentNotifyConnection(int fd, int ready, void *data);
+
#endif /* __Init_H__ */
diff --git a/nx-X11/programs/Xserver/hw/nxagent/Screen.c b/nx-X11/programs/Xserver/hw/nxagent/Screen.c
index 3039f4139..01d8c1fc7 100644
--- a/nx-X11/programs/Xserver/hw/nxagent/Screen.c
+++ b/nx-X11/programs/Xserver/hw/nxagent/Screen.c
@@ -2781,7 +2781,7 @@ int nxagentShadowInit(ScreenPtr pScreen, WindowPtr pWin)
"to the device set.\n", fd);
#endif
- AddEnabledDevice(nxagentShadowXConnectionNumber);
+ SetNotifyFd(nxagentShadowXConnectionNumber, nxagentNotifyConnection, X_NOTIFY_READ, NULL);
accessPixmapID = FakeClientID(serverClient -> index);