Merge remote-tracking branch 'whot/for-keith'
This commit is contained in:
commit
bda6fdc71c
|
@ -74,5 +74,6 @@ extern _X_EXPORT Bool whiteRoot;
|
|||
extern _X_EXPORT Bool bgNoneRoot;
|
||||
|
||||
extern _X_EXPORT Bool CoreDump;
|
||||
extern _X_EXPORT Bool NoListenAll;
|
||||
|
||||
#endif /* OPAQUE_H */
|
||||
|
|
|
@ -166,9 +166,9 @@ extern _X_EXPORT void MakeClientGrabImpervious(ClientPtr /*client */ );
|
|||
|
||||
extern _X_EXPORT void MakeClientGrabPervious(ClientPtr /*client */ );
|
||||
|
||||
#ifdef XQUARTZ
|
||||
extern void ListenOnOpenFD(int /* fd */ , int /* noxauth */ );
|
||||
#endif
|
||||
extern _X_EXPORT void ListenOnOpenFD(int /* fd */ , int /* noxauth */ );
|
||||
|
||||
extern _X_EXPORT Bool AddClientOnOpenFD(int /* fd */ );
|
||||
|
||||
extern _X_EXPORT CARD32 GetTimeInMillis(void);
|
||||
extern _X_EXPORT CARD64 GetTimeInMicros(void);
|
||||
|
|
|
@ -824,6 +824,9 @@ extern _X_EXPORT void XkbSendNewKeyboardNotify(DeviceIntPtr /* kbd */ ,
|
|||
extern Bool XkbCopyKeymap(XkbDescPtr /* dst */ ,
|
||||
XkbDescPtr /* src */ );
|
||||
|
||||
extern _X_EXPORT Bool XkbCopyDeviceKeymap(DeviceIntPtr /* dst */,
|
||||
DeviceIntPtr /* src */);
|
||||
|
||||
extern _X_EXPORT Bool XkbDeviceApplyKeymap(DeviceIntPtr /* dst */ ,
|
||||
XkbDescPtr /* src */ );
|
||||
|
||||
|
|
|
@ -138,6 +138,7 @@ fd_set OutputPending; /* clients with reply/event data ready to go */
|
|||
int MaxClients = 0;
|
||||
Bool NewOutputPending; /* not yet attempted to write some new output */
|
||||
Bool AnyClientsWriteBlocked; /* true if some client blocked on write */
|
||||
Bool NoListenAll; /* Don't establish any listening sockets */
|
||||
|
||||
static Bool RunFromSmartParent; /* send SIGUSR1 to parent process */
|
||||
Bool RunFromSigStopParent; /* send SIGSTOP to our own process; Upstart (or
|
||||
|
@ -406,7 +407,10 @@ CreateWellKnownSockets(void)
|
|||
/* display is initialized to "0" by main(). It is then set to the display
|
||||
* number if specified on the command line, or to NULL when the -displayfd
|
||||
* option is used. */
|
||||
if (display) {
|
||||
if (NoListenAll) {
|
||||
ListenTransCount = 0;
|
||||
}
|
||||
else if (display) {
|
||||
if (TryCreateSocket(atoi(display), &partial) &&
|
||||
ListenTransCount >= 1)
|
||||
if (!PartialNetwork && partial)
|
||||
|
@ -440,9 +444,10 @@ CreateWellKnownSockets(void)
|
|||
DefineSelf (fd);
|
||||
}
|
||||
|
||||
if (!XFD_ANYSET(&WellKnownConnections))
|
||||
if (!XFD_ANYSET(&WellKnownConnections) && !NoListenAll)
|
||||
FatalError
|
||||
("Cannot establish any listening sockets - Make sure an X server isn't already running");
|
||||
|
||||
#if !defined(WIN32)
|
||||
OsSignal(SIGPIPE, SIG_IGN);
|
||||
OsSignal(SIGHUP, AutoResetServer);
|
||||
|
@ -1253,8 +1258,7 @@ MakeClientGrabPervious(ClientPtr client)
|
|||
}
|
||||
}
|
||||
|
||||
#ifdef XQUARTZ
|
||||
/* Add a fd (from launchd) to our listeners */
|
||||
/* Add a fd (from launchd or similar) to our listeners */
|
||||
void
|
||||
ListenOnOpenFD(int fd, int noxauth)
|
||||
{
|
||||
|
@ -1276,7 +1280,7 @@ ListenOnOpenFD(int fd, int noxauth)
|
|||
*/
|
||||
ciptr = _XSERVTransReopenCOTSServer(5, fd, port);
|
||||
if (ciptr == NULL) {
|
||||
ErrorF("Got NULL while trying to Reopen launchd port.\n");
|
||||
ErrorF("Got NULL while trying to Reopen listen port.\n");
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -1309,4 +1313,29 @@ ListenOnOpenFD(int fd, int noxauth)
|
|||
#endif
|
||||
}
|
||||
|
||||
#endif
|
||||
/* based on TRANS(SocketUNIXAccept) (XtransConnInfo ciptr, int *status) */
|
||||
Bool
|
||||
AddClientOnOpenFD(int fd)
|
||||
{
|
||||
XtransConnInfo ciptr;
|
||||
CARD32 connect_time;
|
||||
char port[20];
|
||||
|
||||
snprintf(port, sizeof(port), ":%d", atoi(display));
|
||||
ciptr = _XSERVTransReopenCOTSServer(5, fd, port);
|
||||
if (ciptr == NULL)
|
||||
return FALSE;
|
||||
|
||||
_XSERVTransSetOption(ciptr, TRANS_NONBLOCKING, 1);
|
||||
ciptr->flags |= TRANS_NOXAUTH;
|
||||
|
||||
connect_time = GetTimeInMillis();
|
||||
|
||||
if (!AllocNewConnection(ciptr, fd, connect_time)) {
|
||||
ErrorConnMax(ciptr);
|
||||
_XSERVTransClose(ciptr);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
|
|
@ -270,7 +270,7 @@ LockServer(void)
|
|||
int len;
|
||||
char port[20];
|
||||
|
||||
if (nolock)
|
||||
if (nolock || NoListenAll)
|
||||
return;
|
||||
/*
|
||||
* Path names
|
||||
|
@ -390,7 +390,7 @@ LockServer(void)
|
|||
void
|
||||
UnlockServer(void)
|
||||
{
|
||||
if (nolock)
|
||||
if (nolock || NoListenAll)
|
||||
return;
|
||||
|
||||
if (!StillLocking) {
|
||||
|
|
|
@ -30,7 +30,6 @@ endif
|
|||
xkb_LDADD=$(TEST_LDADD)
|
||||
input_LDADD=$(TEST_LDADD)
|
||||
xtest_LDADD=$(TEST_LDADD)
|
||||
list_LDADD=$(TEST_LDADD)
|
||||
misc_LDADD=$(TEST_LDADD)
|
||||
fixes_LDADD=$(TEST_LDADD)
|
||||
xfree86_LDADD=$(TEST_LDADD)
|
||||
|
|
|
@ -2027,6 +2027,12 @@ XkbDeviceApplyKeymap(DeviceIntPtr dst, XkbDescPtr desc)
|
|||
return ret;
|
||||
}
|
||||
|
||||
Bool
|
||||
XkbCopyDeviceKeymap(DeviceIntPtr dst, DeviceIntPtr src)
|
||||
{
|
||||
return XkbDeviceApplyKeymap(dst, src->key->xkbInfo->desc);
|
||||
}
|
||||
|
||||
int
|
||||
XkbGetEffectiveGroup(XkbSrvInfoPtr xkbi, XkbStatePtr xkbState, CARD8 keycode)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue
Block a user