xfree86: Create seat atom from the root window callback (v2)
v2: Fix swapped callback args Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> Signed-off-by: Adam Jackson <ajax@redhat.com>
This commit is contained in:
parent
2c3a3afb51
commit
da9ee1eddd
|
@ -365,6 +365,22 @@ InstallSignalHandlers(void)
|
|||
}
|
||||
}
|
||||
|
||||
static void
|
||||
AddSeatId(CallbackListPtr *pcbl, void *data, void *screen)
|
||||
{
|
||||
ScreenPtr pScreen = screen;
|
||||
Atom SeatAtom = MakeAtom(SEAT_ATOM_NAME, sizeof(SEAT_ATOM_NAME) - 1, TRUE);
|
||||
int err;
|
||||
|
||||
err = dixChangeWindowProperty(serverClient, pScreen->root, SeatAtom,
|
||||
XA_STRING, 8, PropModeReplace,
|
||||
strlen(data) + 1, data, FALSE);
|
||||
|
||||
if (err != Success)
|
||||
xf86DrvMsg(pScreen->myNum, X_WARNING,
|
||||
"Failed to register seat property\n");
|
||||
}
|
||||
|
||||
/* The memory storing the initial value of the XFree86_has_VT root window
|
||||
* property. This has to remain available until server start-up, so we just
|
||||
* use a global. */
|
||||
|
@ -749,26 +765,6 @@ InitOutput(ScreenInfo * pScreenInfo, int argc, char **argv)
|
|||
}
|
||||
}
|
||||
|
||||
if (SeatId) {
|
||||
Atom SeatAtom;
|
||||
|
||||
SeatAtom =
|
||||
MakeAtom(SEAT_ATOM_NAME, sizeof(SEAT_ATOM_NAME) - 1, TRUE);
|
||||
|
||||
for (i = 0; i < xf86NumScreens; i++) {
|
||||
int ret;
|
||||
|
||||
ret = xf86RegisterRootWindowProperty(xf86Screens[i]->scrnIndex,
|
||||
SeatAtom, XA_STRING, 8,
|
||||
strlen(SeatId) + 1,
|
||||
SeatId);
|
||||
if (ret != Success) {
|
||||
xf86DrvMsg(xf86Screens[i]->scrnIndex, X_WARNING,
|
||||
"Failed to register seat property\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* If a screen uses depth 24, show what the pixmap format is */
|
||||
for (i = 0; i < xf86NumScreens; i++) {
|
||||
if (xf86Screens[i]->depth == 24) {
|
||||
|
@ -802,6 +798,9 @@ InitOutput(ScreenInfo * pScreenInfo, int argc, char **argv)
|
|||
xf86EnableIO();
|
||||
}
|
||||
|
||||
if (SeatId)
|
||||
AddCallback(&RootWindowFinalizeCallback, AddSeatId, SeatId);
|
||||
|
||||
/*
|
||||
* Use the previously collected parts to setup pScreenInfo
|
||||
*/
|
||||
|
|
Loading…
Reference in New Issue
Block a user