mirror of
https://gitlab.freedesktop.org/xorg/xserver.git
synced 2026-05-07 02:48:21 +02:00
Merge branch 'server-1.5-branch' into xorg-server-1.5-apple
This commit is contained in:
commit
86fa42ed82
13 changed files with 300 additions and 89 deletions
|
|
@ -936,10 +936,11 @@ ProcPanoramiXGetState(ClientPtr client)
|
||||||
rep.length = 0;
|
rep.length = 0;
|
||||||
rep.sequenceNumber = client->sequence;
|
rep.sequenceNumber = client->sequence;
|
||||||
rep.state = !noPanoramiXExtension;
|
rep.state = !noPanoramiXExtension;
|
||||||
|
rep.window = stuff->window;
|
||||||
if (client->swapped) {
|
if (client->swapped) {
|
||||||
swaps (&rep.sequenceNumber, n);
|
swaps (&rep.sequenceNumber, n);
|
||||||
swapl (&rep.length, n);
|
swapl (&rep.length, n);
|
||||||
swaps (&rep.state, n);
|
swapl (&rep.window, n);
|
||||||
}
|
}
|
||||||
WriteToClient (client, sizeof (xPanoramiXGetStateReply), (char *) &rep);
|
WriteToClient (client, sizeof (xPanoramiXGetStateReply), (char *) &rep);
|
||||||
return client->noClientException;
|
return client->noClientException;
|
||||||
|
|
@ -963,10 +964,11 @@ ProcPanoramiXGetScreenCount(ClientPtr client)
|
||||||
rep.length = 0;
|
rep.length = 0;
|
||||||
rep.sequenceNumber = client->sequence;
|
rep.sequenceNumber = client->sequence;
|
||||||
rep.ScreenCount = PanoramiXNumScreens;
|
rep.ScreenCount = PanoramiXNumScreens;
|
||||||
|
rep.window = stuff->window;
|
||||||
if (client->swapped) {
|
if (client->swapped) {
|
||||||
swaps (&rep.sequenceNumber, n);
|
swaps (&rep.sequenceNumber, n);
|
||||||
swapl (&rep.length, n);
|
swapl (&rep.length, n);
|
||||||
swaps (&rep.ScreenCount, n);
|
swapl (&rep.window, n);
|
||||||
}
|
}
|
||||||
WriteToClient (client, sizeof (xPanoramiXGetScreenCountReply), (char *) &rep);
|
WriteToClient (client, sizeof (xPanoramiXGetScreenCountReply), (char *) &rep);
|
||||||
return client->noClientException;
|
return client->noClientException;
|
||||||
|
|
@ -980,6 +982,9 @@ ProcPanoramiXGetScreenSize(ClientPtr client)
|
||||||
xPanoramiXGetScreenSizeReply rep;
|
xPanoramiXGetScreenSizeReply rep;
|
||||||
register int n, rc;
|
register int n, rc;
|
||||||
|
|
||||||
|
if (stuff->screen >= PanoramiXNumScreens)
|
||||||
|
return BadMatch;
|
||||||
|
|
||||||
REQUEST_SIZE_MATCH(xPanoramiXGetScreenSizeReq);
|
REQUEST_SIZE_MATCH(xPanoramiXGetScreenSizeReq);
|
||||||
rc = dixLookupWindow(&pWin, stuff->window, client, DixGetAttrAccess);
|
rc = dixLookupWindow(&pWin, stuff->window, client, DixGetAttrAccess);
|
||||||
if (rc != Success)
|
if (rc != Success)
|
||||||
|
|
@ -991,11 +996,15 @@ ProcPanoramiXGetScreenSize(ClientPtr client)
|
||||||
/* screen dimensions */
|
/* screen dimensions */
|
||||||
rep.width = panoramiXdataPtr[stuff->screen].width;
|
rep.width = panoramiXdataPtr[stuff->screen].width;
|
||||||
rep.height = panoramiXdataPtr[stuff->screen].height;
|
rep.height = panoramiXdataPtr[stuff->screen].height;
|
||||||
|
rep.window = stuff->window;
|
||||||
|
rep.screen = stuff->screen;
|
||||||
if (client->swapped) {
|
if (client->swapped) {
|
||||||
swaps (&rep.sequenceNumber, n);
|
swaps (&rep.sequenceNumber, n);
|
||||||
swapl (&rep.length, n);
|
swapl (&rep.length, n);
|
||||||
swaps (&rep.width, n);
|
swapl (&rep.width, n);
|
||||||
swaps (&rep.height, n);
|
swapl (&rep.height, n);
|
||||||
|
swapl (&rep.window, n);
|
||||||
|
swapl (&rep.screen, n);
|
||||||
}
|
}
|
||||||
WriteToClient (client, sizeof (xPanoramiXGetScreenSizeReply), (char *) &rep);
|
WriteToClient (client, sizeof (xPanoramiXGetScreenSizeReply), (char *) &rep);
|
||||||
return client->noClientException;
|
return client->noClientException;
|
||||||
|
|
|
||||||
31
Xext/xevie.c
31
Xext/xevie.c
|
|
@ -156,6 +156,7 @@ static
|
||||||
int ProcXevieQueryVersion (register ClientPtr client)
|
int ProcXevieQueryVersion (register ClientPtr client)
|
||||||
{
|
{
|
||||||
xXevieQueryVersionReply rep;
|
xXevieQueryVersionReply rep;
|
||||||
|
int n;
|
||||||
|
|
||||||
REQUEST_SIZE_MATCH (xXevieQueryVersionReq);
|
REQUEST_SIZE_MATCH (xXevieQueryVersionReq);
|
||||||
rep.type = X_Reply;
|
rep.type = X_Reply;
|
||||||
|
|
@ -163,6 +164,12 @@ int ProcXevieQueryVersion (register ClientPtr client)
|
||||||
rep.sequence_number = client->sequence;
|
rep.sequence_number = client->sequence;
|
||||||
rep.server_major_version = XEVIE_MAJOR_VERSION;
|
rep.server_major_version = XEVIE_MAJOR_VERSION;
|
||||||
rep.server_minor_version = XEVIE_MINOR_VERSION;
|
rep.server_minor_version = XEVIE_MINOR_VERSION;
|
||||||
|
if (client->swapped) {
|
||||||
|
swaps(&rep.sequence_number, n);
|
||||||
|
swapl(&rep.length, n);
|
||||||
|
swaps(&rep.server_major_version, n);
|
||||||
|
swaps(&rep.server_minor_version, n);
|
||||||
|
}
|
||||||
WriteToClient (client, sizeof (xXevieQueryVersionReply), (char *)&rep);
|
WriteToClient (client, sizeof (xXevieQueryVersionReply), (char *)&rep);
|
||||||
return client->noClientException;
|
return client->noClientException;
|
||||||
}
|
}
|
||||||
|
|
@ -171,6 +178,7 @@ static
|
||||||
int ProcXevieStart (register ClientPtr client)
|
int ProcXevieStart (register ClientPtr client)
|
||||||
{
|
{
|
||||||
xXevieStartReply rep;
|
xXevieStartReply rep;
|
||||||
|
int n;
|
||||||
|
|
||||||
REQUEST_SIZE_MATCH (xXevieStartReq);
|
REQUEST_SIZE_MATCH (xXevieStartReq);
|
||||||
rep.pad1 = 0;
|
rep.pad1 = 0;
|
||||||
|
|
@ -202,8 +210,13 @@ int ProcXevieStart (register ClientPtr client)
|
||||||
|
|
||||||
xevieModifiersOn = FALSE;
|
xevieModifiersOn = FALSE;
|
||||||
|
|
||||||
|
rep.length = 0;
|
||||||
rep.type = X_Reply;
|
rep.type = X_Reply;
|
||||||
rep.sequence_number = client->sequence;
|
rep.sequence_number = client->sequence;
|
||||||
|
if (client->swapped) {
|
||||||
|
swaps(&rep.sequence_number, n);
|
||||||
|
swapl(&rep.length, n);
|
||||||
|
}
|
||||||
WriteToClient (client, sizeof (xXevieStartReply), (char *)&rep);
|
WriteToClient (client, sizeof (xXevieStartReply), (char *)&rep);
|
||||||
return client->noClientException;
|
return client->noClientException;
|
||||||
}
|
}
|
||||||
|
|
@ -212,6 +225,7 @@ static
|
||||||
int ProcXevieEnd (register ClientPtr client)
|
int ProcXevieEnd (register ClientPtr client)
|
||||||
{
|
{
|
||||||
xXevieEndReply rep;
|
xXevieEndReply rep;
|
||||||
|
int n;
|
||||||
|
|
||||||
REQUEST_SIZE_MATCH (xXevieEndReq);
|
REQUEST_SIZE_MATCH (xXevieEndReq);
|
||||||
|
|
||||||
|
|
@ -223,8 +237,13 @@ int ProcXevieEnd (register ClientPtr client)
|
||||||
XevieEnd(xevieClientIndex);
|
XevieEnd(xevieClientIndex);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
rep.length = 0;
|
||||||
rep.type = X_Reply;
|
rep.type = X_Reply;
|
||||||
rep.sequence_number = client->sequence;
|
rep.sequence_number = client->sequence;
|
||||||
|
if (client->swapped) {
|
||||||
|
swaps(&rep.sequence_number, n);
|
||||||
|
swapl(&rep.length, n);
|
||||||
|
}
|
||||||
WriteToClient (client, sizeof (xXevieEndReply), (char *)&rep);
|
WriteToClient (client, sizeof (xXevieEndReply), (char *)&rep);
|
||||||
return client->noClientException;
|
return client->noClientException;
|
||||||
}
|
}
|
||||||
|
|
@ -236,6 +255,7 @@ int ProcXevieSend (register ClientPtr client)
|
||||||
xXevieSendReply rep;
|
xXevieSendReply rep;
|
||||||
xEvent *xE;
|
xEvent *xE;
|
||||||
static unsigned char lastDetail = 0, lastType = 0;
|
static unsigned char lastDetail = 0, lastType = 0;
|
||||||
|
int n;
|
||||||
|
|
||||||
REQUEST_SIZE_MATCH (xXevieSendReq);
|
REQUEST_SIZE_MATCH (xXevieSendReq);
|
||||||
|
|
||||||
|
|
@ -243,8 +263,13 @@ int ProcXevieSend (register ClientPtr client)
|
||||||
return BadAccess;
|
return BadAccess;
|
||||||
|
|
||||||
xE = (xEvent *)&stuff->event;
|
xE = (xEvent *)&stuff->event;
|
||||||
|
rep.length = 0;
|
||||||
rep.type = X_Reply;
|
rep.type = X_Reply;
|
||||||
rep.sequence_number = client->sequence;
|
rep.sequence_number = client->sequence;
|
||||||
|
if (client->swapped) {
|
||||||
|
swaps(&rep.sequence_number, n);
|
||||||
|
swapl(&rep.length, n);
|
||||||
|
}
|
||||||
WriteToClient (client, sizeof (xXevieSendReply), (char *)&rep);
|
WriteToClient (client, sizeof (xXevieSendReply), (char *)&rep);
|
||||||
|
|
||||||
switch(xE->u.u.type) {
|
switch(xE->u.u.type) {
|
||||||
|
|
@ -282,6 +307,7 @@ int ProcXevieSelectInput (register ClientPtr client)
|
||||||
{
|
{
|
||||||
REQUEST (xXevieSelectInputReq);
|
REQUEST (xXevieSelectInputReq);
|
||||||
xXevieSelectInputReply rep;
|
xXevieSelectInputReply rep;
|
||||||
|
int n;
|
||||||
|
|
||||||
REQUEST_SIZE_MATCH (xXevieSelectInputReq);
|
REQUEST_SIZE_MATCH (xXevieSelectInputReq);
|
||||||
|
|
||||||
|
|
@ -289,8 +315,13 @@ int ProcXevieSelectInput (register ClientPtr client)
|
||||||
return BadAccess;
|
return BadAccess;
|
||||||
|
|
||||||
xevieMask = stuff->event_mask;
|
xevieMask = stuff->event_mask;
|
||||||
|
rep.length = 0;
|
||||||
rep.type = X_Reply;
|
rep.type = X_Reply;
|
||||||
rep.sequence_number = client->sequence;
|
rep.sequence_number = client->sequence;
|
||||||
|
if (client->swapped) {
|
||||||
|
swaps(&rep.sequence_number, n);
|
||||||
|
swapl(&rep.length, n);
|
||||||
|
}
|
||||||
WriteToClient (client, sizeof (xXevieSelectInputReply), (char *)&rep);
|
WriteToClient (client, sizeof (xXevieSelectInputReply), (char *)&rep);
|
||||||
return client->noClientException;
|
return client->noClientException;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -119,7 +119,8 @@ compChangeWindowAttributes(WindowPtr pWin, unsigned long mask)
|
||||||
pScreen->ChangeWindowAttributes = cs->ChangeWindowAttributes;
|
pScreen->ChangeWindowAttributes = cs->ChangeWindowAttributes;
|
||||||
ret = pScreen->ChangeWindowAttributes(pWin, mask);
|
ret = pScreen->ChangeWindowAttributes(pWin, mask);
|
||||||
|
|
||||||
if (ret && (mask & CWBackingStore)) {
|
if (ret && (mask & CWBackingStore) &&
|
||||||
|
pScreen->backingStoreSupport != NotUseful) {
|
||||||
if (pWin->backingStore != NotUseful) {
|
if (pWin->backingStore != NotUseful) {
|
||||||
compRedirectWindow(serverClient, pWin, CompositeRedirectAutomatic);
|
compRedirectWindow(serverClient, pWin, CompositeRedirectAutomatic);
|
||||||
pWin->backStorage = TRUE;
|
pWin->backStorage = TRUE;
|
||||||
|
|
|
||||||
|
|
@ -26,8 +26,8 @@ dnl
|
||||||
dnl Process this file with autoconf to create configure.
|
dnl Process this file with autoconf to create configure.
|
||||||
|
|
||||||
AC_PREREQ(2.57)
|
AC_PREREQ(2.57)
|
||||||
RELEASE_DATE="23 July 2008"
|
AC_INIT([xorg-server], 1.5.1, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
|
||||||
AC_INIT([xorg-server], 1.4.99.906, [https://bugs.freedesktop.org/enter_bug.cgi?product=xorg], xorg-server)
|
RELEASE_DATE="23 September 2008"
|
||||||
AC_CONFIG_SRCDIR([Makefile.am])
|
AC_CONFIG_SRCDIR([Makefile.am])
|
||||||
AM_INIT_AUTOMAKE([dist-bzip2 foreign])
|
AM_INIT_AUTOMAKE([dist-bzip2 foreign])
|
||||||
AM_MAINTAINER_MODE
|
AM_MAINTAINER_MODE
|
||||||
|
|
@ -528,7 +528,7 @@ AC_ARG_ENABLE(registry, AS_HELP_STRING([--disable-registry], [Build string
|
||||||
AC_ARG_ENABLE(composite, AS_HELP_STRING([--disable-composite], [Build Composite extension (default: enabled)]), [COMPOSITE=$enableval], [COMPOSITE=yes])
|
AC_ARG_ENABLE(composite, AS_HELP_STRING([--disable-composite], [Build Composite extension (default: enabled)]), [COMPOSITE=$enableval], [COMPOSITE=yes])
|
||||||
AC_ARG_ENABLE(mitshm, AS_HELP_STRING([--disable-shm], [Build SHM extension (default: enabled)]), [MITSHM=$enableval], [MITSHM=yes])
|
AC_ARG_ENABLE(mitshm, AS_HELP_STRING([--disable-shm], [Build SHM extension (default: enabled)]), [MITSHM=$enableval], [MITSHM=yes])
|
||||||
AC_ARG_ENABLE(xres, AS_HELP_STRING([--disable-xres], [Build XRes extension (default: enabled)]), [RES=$enableval], [RES=yes])
|
AC_ARG_ENABLE(xres, AS_HELP_STRING([--disable-xres], [Build XRes extension (default: enabled)]), [RES=$enableval], [RES=yes])
|
||||||
AC_ARG_ENABLE(xtrap, AS_HELP_STRING([--disable-xtrap], [Build XTrap extension (default: enabled)]), [XTRAP=$enableval], [XTRAP=yes])
|
AC_ARG_ENABLE(xtrap, AS_HELP_STRING([--enable-xtrap], [Build XTrap extension (default: disabled)]), [XTRAP=$enableval], [XTRAP=no])
|
||||||
AC_ARG_ENABLE(record, AS_HELP_STRING([--enable-record], [Build Record extension (default: disabled)]), [RECORD=$enableval], [RECORD=no])
|
AC_ARG_ENABLE(record, AS_HELP_STRING([--enable-record], [Build Record extension (default: disabled)]), [RECORD=$enableval], [RECORD=no])
|
||||||
AC_ARG_ENABLE(xv, AS_HELP_STRING([--disable-xv], [Build Xv extension (default: enabled)]), [XV=$enableval], [XV=yes])
|
AC_ARG_ENABLE(xv, AS_HELP_STRING([--disable-xv], [Build Xv extension (default: enabled)]), [XV=$enableval], [XV=yes])
|
||||||
AC_ARG_ENABLE(xvmc, AS_HELP_STRING([--disable-xvmc], [Build XvMC extension (default: enabled)]), [XVMC=$enableval], [XVMC=yes])
|
AC_ARG_ENABLE(xvmc, AS_HELP_STRING([--disable-xvmc], [Build XvMC extension (default: enabled)]), [XVMC=$enableval], [XVMC=yes])
|
||||||
|
|
@ -538,7 +538,7 @@ AC_ARG_ENABLE(xdmcp, AS_HELP_STRING([--disable-xdmcp], [Build XDMCP ext
|
||||||
AC_ARG_ENABLE(xdm-auth-1, AS_HELP_STRING([--disable-xdm-auth-1], [Build XDM-Auth-1 extension (default: auto)]), [XDMAUTH=$enableval], [XDMAUTH=auto])
|
AC_ARG_ENABLE(xdm-auth-1, AS_HELP_STRING([--disable-xdm-auth-1], [Build XDM-Auth-1 extension (default: auto)]), [XDMAUTH=$enableval], [XDMAUTH=auto])
|
||||||
AC_ARG_ENABLE(glx, AS_HELP_STRING([--disable-glx], [Build GLX extension (default: enabled)]), [GLX=$enableval], [GLX=yes])
|
AC_ARG_ENABLE(glx, AS_HELP_STRING([--disable-glx], [Build GLX extension (default: enabled)]), [GLX=$enableval], [GLX=yes])
|
||||||
AC_ARG_ENABLE(dri, AS_HELP_STRING([--enable-dri], [Build DRI extension (default: auto)]), [DRI=$enableval])
|
AC_ARG_ENABLE(dri, AS_HELP_STRING([--enable-dri], [Build DRI extension (default: auto)]), [DRI=$enableval])
|
||||||
AC_ARG_ENABLE(dri2, AS_HELP_STRING([--enable-dri2], [Build DRI2 extension (default: auto)]), [DRI2=$enableval])
|
AC_ARG_ENABLE(dri2, AS_HELP_STRING([--enable-dri2], [Build DRI2 extension (default: no)]), [DRI2=$enableval], [DRI2=no])
|
||||||
AC_ARG_ENABLE(xinerama, AS_HELP_STRING([--disable-xinerama], [Build Xinerama extension (default: enabled)]), [XINERAMA=$enableval], [XINERAMA=yes])
|
AC_ARG_ENABLE(xinerama, AS_HELP_STRING([--disable-xinerama], [Build Xinerama extension (default: enabled)]), [XINERAMA=$enableval], [XINERAMA=yes])
|
||||||
AC_ARG_ENABLE(xf86vidmode, AS_HELP_STRING([--disable-xf86vidmode], [Build XF86VidMode extension (default: auto)]), [XF86VIDMODE=$enableval], [XF86VIDMODE=auto])
|
AC_ARG_ENABLE(xf86vidmode, AS_HELP_STRING([--disable-xf86vidmode], [Build XF86VidMode extension (default: auto)]), [XF86VIDMODE=$enableval], [XF86VIDMODE=auto])
|
||||||
AC_ARG_ENABLE(xf86misc, AS_HELP_STRING([--disable-xf86misc], [Build XF86Misc extension (default: auto)]), [XF86MISC=$enableval], [XF86MISC=auto])
|
AC_ARG_ENABLE(xf86misc, AS_HELP_STRING([--disable-xf86misc], [Build XF86Misc extension (default: auto)]), [XF86MISC=$enableval], [XF86MISC=auto])
|
||||||
|
|
|
||||||
|
|
@ -507,7 +507,7 @@ by the \fIfont path\fP.
|
||||||
The default font path is
|
The default font path is
|
||||||
__default_font_path__ .
|
__default_font_path__ .
|
||||||
.LP
|
.LP
|
||||||
A special kind of directory can be specified using the the \fBcatalogue\fP:
|
A special kind of directory can be specified using the \fBcatalogue\fP:
|
||||||
prefix. Directories specified this way can contain symlinks pointing to the
|
prefix. Directories specified this way can contain symlinks pointing to the
|
||||||
real font directories. See the FONTPATH.D section for details.
|
real font directories. See the FONTPATH.D section for details.
|
||||||
.LP
|
.LP
|
||||||
|
|
|
||||||
10
exa/exa.c
10
exa/exa.c
|
|
@ -43,6 +43,10 @@
|
||||||
DevPrivateKey exaScreenPrivateKey = &exaScreenPrivateKey;
|
DevPrivateKey exaScreenPrivateKey = &exaScreenPrivateKey;
|
||||||
DevPrivateKey exaPixmapPrivateKey = &exaPixmapPrivateKey;
|
DevPrivateKey exaPixmapPrivateKey = &exaPixmapPrivateKey;
|
||||||
|
|
||||||
|
#ifdef MITSHM
|
||||||
|
static ShmFuncs exaShmFuncs = { NULL, NULL };
|
||||||
|
#endif
|
||||||
|
|
||||||
static _X_INLINE void*
|
static _X_INLINE void*
|
||||||
ExaGetPixmapAddress(PixmapPtr p)
|
ExaGetPixmapAddress(PixmapPtr p)
|
||||||
{
|
{
|
||||||
|
|
@ -924,6 +928,12 @@ exaDriverInit (ScreenPtr pScreen,
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef MITSHM
|
||||||
|
/*
|
||||||
|
* Don't allow shared pixmaps.
|
||||||
|
*/
|
||||||
|
ShmRegisterFuncs(pScreen, &exaShmFuncs);
|
||||||
|
#endif
|
||||||
/*
|
/*
|
||||||
* Hookup offscreen pixmaps
|
* Hookup offscreen pixmaps
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -45,9 +45,13 @@ glapi_sources = \
|
||||||
glthread.h \
|
glthread.h \
|
||||||
glprocs.h
|
glprocs.h
|
||||||
|
|
||||||
|
if DRI2
|
||||||
|
GLXDRI_SOURCE = glxdri2.c
|
||||||
|
endif
|
||||||
|
|
||||||
libglxdri_la_SOURCES = \
|
libglxdri_la_SOURCES = \
|
||||||
glxdri.c \
|
glxdri.c \
|
||||||
glxdri2.c \
|
$(GLXDRI2_SOURCE) \
|
||||||
glxdricommon.h \
|
glxdricommon.h \
|
||||||
extension_string.c \
|
extension_string.c \
|
||||||
extension_string.h
|
extension_string.h
|
||||||
|
|
|
||||||
|
|
@ -202,7 +202,7 @@ to the
|
||||||
__xconfigfile__(__filemansuffix__) file option.
|
__xconfigfile__(__filemansuffix__) file option.
|
||||||
.TP 8
|
.TP 8
|
||||||
.B \-disableVidMode
|
.B \-disableVidMode
|
||||||
Disable the the parts of the VidMode extension (used by the xvidtune
|
Disable the parts of the VidMode extension (used by the xvidtune
|
||||||
client) that can be used to change the video modes. This is equivalent
|
client) that can be used to change the video modes. This is equivalent
|
||||||
to the
|
to the
|
||||||
.B DisableVidModeExtension
|
.B DisableVidModeExtension
|
||||||
|
|
|
||||||
|
|
@ -131,8 +131,8 @@ XAAIsEasyPolygon(
|
||||||
*bottomY = 0;
|
*bottomY = 0;
|
||||||
|
|
||||||
origin -= (origin & 0x8000) << 1;
|
origin -= (origin & 0x8000) << 1;
|
||||||
vertex1 = *((int *) &extents->x1) - origin;
|
vertex1 = extents->x1 - origin;
|
||||||
vertex2 = *((int *) &extents->x2) - origin /* - 0x00010001 */;
|
vertex2 = extents->x2 - origin /* - 0x00010001 */;
|
||||||
/* I think this was an error in cfb ^ */
|
/* I think this was an error in cfb ^ */
|
||||||
|
|
||||||
if (shape == Convex) {
|
if (shape == Convex) {
|
||||||
|
|
@ -714,7 +714,7 @@ XAAFillPolygonStippled(
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
origin = *((int *)&pDraw->x);
|
origin = pDraw->x;
|
||||||
|
|
||||||
switch( XAAIsEasyPolygon(ptsIn, count, &pGC->pCompositeClip->extents,
|
switch( XAAIsEasyPolygon(ptsIn, count, &pGC->pCompositeClip->extents,
|
||||||
origin, &topPoint, &y, &maxy, shape) ) {
|
origin, &topPoint, &y, &maxy, shape) ) {
|
||||||
|
|
@ -867,7 +867,7 @@ XAAFillPolygonTiled(
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
origin = *((int *)&pDraw->x);
|
origin = pDraw->x;
|
||||||
|
|
||||||
switch( XAAIsEasyPolygon(ptsIn, count, &pGC->pCompositeClip->extents,
|
switch( XAAIsEasyPolygon(ptsIn, count, &pGC->pCompositeClip->extents,
|
||||||
origin, &topPoint, &y, &maxy, shape) ) {
|
origin, &topPoint, &y, &maxy, shape) ) {
|
||||||
|
|
|
||||||
|
|
@ -894,6 +894,7 @@ ProcRRGetCrtcGamma (ClientPtr client)
|
||||||
RRCrtcPtr crtc;
|
RRCrtcPtr crtc;
|
||||||
int n;
|
int n;
|
||||||
unsigned long len;
|
unsigned long len;
|
||||||
|
char *extra;
|
||||||
|
|
||||||
REQUEST_SIZE_MATCH(xRRGetCrtcGammaReq);
|
REQUEST_SIZE_MATCH(xRRGetCrtcGammaReq);
|
||||||
crtc = LookupCrtc (client, stuff->crtc, DixReadAccess);
|
crtc = LookupCrtc (client, stuff->crtc, DixReadAccess);
|
||||||
|
|
@ -902,6 +903,12 @@ ProcRRGetCrtcGamma (ClientPtr client)
|
||||||
|
|
||||||
len = crtc->gammaSize * 3 * 2;
|
len = crtc->gammaSize * 3 * 2;
|
||||||
|
|
||||||
|
if (crtc->gammaSize) {
|
||||||
|
extra = xalloc(len);
|
||||||
|
if (!extra)
|
||||||
|
return BadAlloc;
|
||||||
|
}
|
||||||
|
|
||||||
reply.type = X_Reply;
|
reply.type = X_Reply;
|
||||||
reply.sequenceNumber = client->sequence;
|
reply.sequenceNumber = client->sequence;
|
||||||
reply.length = (len + 3) >> 2;
|
reply.length = (len + 3) >> 2;
|
||||||
|
|
@ -914,8 +921,10 @@ ProcRRGetCrtcGamma (ClientPtr client)
|
||||||
WriteToClient (client, sizeof (xRRGetCrtcGammaReply), (char *) &reply);
|
WriteToClient (client, sizeof (xRRGetCrtcGammaReply), (char *) &reply);
|
||||||
if (crtc->gammaSize)
|
if (crtc->gammaSize)
|
||||||
{
|
{
|
||||||
|
memcpy(extra, crtc->gammaRed, len);
|
||||||
client->pSwapReplyFunc = (ReplySwapPtr)CopySwap16Write;
|
client->pSwapReplyFunc = (ReplySwapPtr)CopySwap16Write;
|
||||||
WriteSwappedDataToClient (client, len, (char *) crtc->gammaRed);
|
WriteSwappedDataToClient (client, len, extra);
|
||||||
|
xfree(extra);
|
||||||
}
|
}
|
||||||
return client->noClientException;
|
return client->noClientException;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -398,12 +398,13 @@ ProcRRListOutputProperties (ClientPtr client)
|
||||||
int n;
|
int n;
|
||||||
swaps (&rep.sequenceNumber, n);
|
swaps (&rep.sequenceNumber, n);
|
||||||
swapl (&rep.length, n);
|
swapl (&rep.length, n);
|
||||||
|
swaps (&rep.nAtoms, n);
|
||||||
}
|
}
|
||||||
temppAtoms = pAtoms;
|
temppAtoms = pAtoms;
|
||||||
for (prop = output->properties; prop; prop = prop->next)
|
for (prop = output->properties; prop; prop = prop->next)
|
||||||
*temppAtoms++ = prop->propertyName;
|
*temppAtoms++ = prop->propertyName;
|
||||||
|
|
||||||
WriteReplyToClient(client, sizeof(xRRListOutputPropertiesReply), &rep);
|
WriteToClient(client, sizeof(xRRListOutputPropertiesReply), (char*)&rep);
|
||||||
if (numProps)
|
if (numProps)
|
||||||
{
|
{
|
||||||
client->pSwapReplyFunc = (ReplySwapPtr)Swap32Write;
|
client->pSwapReplyFunc = (ReplySwapPtr)Swap32Write;
|
||||||
|
|
@ -420,6 +421,7 @@ ProcRRQueryOutputProperty (ClientPtr client)
|
||||||
xRRQueryOutputPropertyReply rep;
|
xRRQueryOutputPropertyReply rep;
|
||||||
RROutputPtr output;
|
RROutputPtr output;
|
||||||
RRPropertyPtr prop;
|
RRPropertyPtr prop;
|
||||||
|
char *extra;
|
||||||
|
|
||||||
REQUEST_SIZE_MATCH(xRRQueryOutputPropertyReq);
|
REQUEST_SIZE_MATCH(xRRQueryOutputPropertyReq);
|
||||||
|
|
||||||
|
|
@ -432,6 +434,11 @@ ProcRRQueryOutputProperty (ClientPtr client)
|
||||||
if (!prop)
|
if (!prop)
|
||||||
return BadName;
|
return BadName;
|
||||||
|
|
||||||
|
if (prop->num_valid) {
|
||||||
|
extra = xalloc(prop->num_valid * sizeof(INT32));
|
||||||
|
if (!extra)
|
||||||
|
return BadAlloc;
|
||||||
|
}
|
||||||
rep.type = X_Reply;
|
rep.type = X_Reply;
|
||||||
rep.length = prop->num_valid;
|
rep.length = prop->num_valid;
|
||||||
rep.sequenceNumber = client->sequence;
|
rep.sequenceNumber = client->sequence;
|
||||||
|
|
@ -444,12 +451,14 @@ ProcRRQueryOutputProperty (ClientPtr client)
|
||||||
swaps (&rep.sequenceNumber, n);
|
swaps (&rep.sequenceNumber, n);
|
||||||
swapl (&rep.length, n);
|
swapl (&rep.length, n);
|
||||||
}
|
}
|
||||||
WriteReplyToClient (client, sizeof (xRRQueryOutputPropertyReply), &rep);
|
WriteToClient (client, sizeof (xRRQueryOutputPropertyReply), (char*)&rep);
|
||||||
if (prop->num_valid)
|
if (prop->num_valid)
|
||||||
{
|
{
|
||||||
|
memcpy(extra, prop->valid_values, prop->num_valid * sizeof(INT32));
|
||||||
client->pSwapReplyFunc = (ReplySwapPtr)Swap32Write;
|
client->pSwapReplyFunc = (ReplySwapPtr)Swap32Write;
|
||||||
WriteSwappedDataToClient(client, prop->num_valid * sizeof(INT32),
|
WriteSwappedDataToClient(client, prop->num_valid * sizeof(INT32),
|
||||||
prop->valid_values);
|
extra);
|
||||||
|
xfree(extra);
|
||||||
}
|
}
|
||||||
return(client->noClientException);
|
return(client->noClientException);
|
||||||
}
|
}
|
||||||
|
|
@ -564,6 +573,7 @@ ProcRRGetOutputProperty (ClientPtr client)
|
||||||
unsigned long n, len, ind;
|
unsigned long n, len, ind;
|
||||||
RROutputPtr output;
|
RROutputPtr output;
|
||||||
xRRGetOutputPropertyReply reply;
|
xRRGetOutputPropertyReply reply;
|
||||||
|
char *extra;
|
||||||
|
|
||||||
REQUEST_SIZE_MATCH(xRRGetOutputPropertyReq);
|
REQUEST_SIZE_MATCH(xRRGetOutputPropertyReq);
|
||||||
if (stuff->delete)
|
if (stuff->delete)
|
||||||
|
|
@ -603,7 +613,16 @@ ProcRRGetOutputProperty (ClientPtr client)
|
||||||
reply.bytesAfter = 0;
|
reply.bytesAfter = 0;
|
||||||
reply.propertyType = None;
|
reply.propertyType = None;
|
||||||
reply.format = 0;
|
reply.format = 0;
|
||||||
WriteReplyToClient(client, sizeof(xRRGetOutputPropertyReply), &reply);
|
if (client->swapped) {
|
||||||
|
int n;
|
||||||
|
|
||||||
|
swaps(&reply.sequenceNumber, n);
|
||||||
|
swapl(&reply.length, n);
|
||||||
|
swapl(&reply.propertyType, n);
|
||||||
|
swapl(&reply.bytesAfter, n);
|
||||||
|
swapl(&reply.nItems, n);
|
||||||
|
}
|
||||||
|
WriteToClient(client, sizeof(xRRGetOutputPropertyReply), &reply);
|
||||||
return(client->noClientException);
|
return(client->noClientException);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -627,7 +646,16 @@ ProcRRGetOutputProperty (ClientPtr client)
|
||||||
reply.length = 0;
|
reply.length = 0;
|
||||||
reply.nItems = 0;
|
reply.nItems = 0;
|
||||||
reply.propertyType = prop_value->type;
|
reply.propertyType = prop_value->type;
|
||||||
WriteReplyToClient(client, sizeof(xRRGetOutputPropertyReply), &reply);
|
if (client->swapped) {
|
||||||
|
int n;
|
||||||
|
|
||||||
|
swaps(&reply.sequenceNumber, n);
|
||||||
|
swapl(&reply.length, n);
|
||||||
|
swapl(&reply.propertyType, n);
|
||||||
|
swapl(&reply.bytesAfter, n);
|
||||||
|
swapl(&reply.nItems, n);
|
||||||
|
}
|
||||||
|
WriteToClient(client, sizeof(xRRGetOutputPropertyReply), &reply);
|
||||||
return(client->noClientException);
|
return(client->noClientException);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -648,6 +676,11 @@ ProcRRGetOutputProperty (ClientPtr client)
|
||||||
|
|
||||||
len = min(n - ind, 4 * stuff->longLength);
|
len = min(n - ind, 4 * stuff->longLength);
|
||||||
|
|
||||||
|
if (len) {
|
||||||
|
extra = xalloc(len);
|
||||||
|
if (!extra)
|
||||||
|
return BadAlloc;
|
||||||
|
}
|
||||||
reply.bytesAfter = n - (ind + len);
|
reply.bytesAfter = n - (ind + len);
|
||||||
reply.format = prop_value->format;
|
reply.format = prop_value->format;
|
||||||
reply.length = (len + 3) >> 2;
|
reply.length = (len + 3) >> 2;
|
||||||
|
|
@ -670,16 +703,27 @@ ProcRRGetOutputProperty (ClientPtr client)
|
||||||
RRDeliverEvent (output->pScreen, (xEvent *) &event, RROutputPropertyNotifyMask);
|
RRDeliverEvent (output->pScreen, (xEvent *) &event, RROutputPropertyNotifyMask);
|
||||||
}
|
}
|
||||||
|
|
||||||
WriteReplyToClient(client, sizeof(xGenericReply), &reply);
|
if (client->swapped) {
|
||||||
|
int n;
|
||||||
|
|
||||||
|
swaps(&reply.sequenceNumber, n);
|
||||||
|
swapl(&reply.length, n);
|
||||||
|
swapl(&reply.propertyType, n);
|
||||||
|
swapl(&reply.bytesAfter, n);
|
||||||
|
swapl(&reply.nItems, n);
|
||||||
|
}
|
||||||
|
WriteToClient(client, sizeof(xGenericReply), &reply);
|
||||||
if (len)
|
if (len)
|
||||||
{
|
{
|
||||||
|
memcpy(extra, (char *)prop_value->data + ind, len);
|
||||||
switch (reply.format) {
|
switch (reply.format) {
|
||||||
case 32: client->pSwapReplyFunc = (ReplySwapPtr)CopySwap32Write; break;
|
case 32: client->pSwapReplyFunc = (ReplySwapPtr)CopySwap32Write; break;
|
||||||
case 16: client->pSwapReplyFunc = (ReplySwapPtr)CopySwap16Write; break;
|
case 16: client->pSwapReplyFunc = (ReplySwapPtr)CopySwap16Write; break;
|
||||||
default: client->pSwapReplyFunc = (ReplySwapPtr)WriteToClient; break;
|
default: client->pSwapReplyFunc = (ReplySwapPtr)WriteToClient; break;
|
||||||
}
|
}
|
||||||
WriteSwappedDataToClient(client, len,
|
WriteSwappedDataToClient(client, len,
|
||||||
(char *)prop_value->data + ind);
|
extra);
|
||||||
|
xfree(extra);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (stuff->delete && (reply.bytesAfter == 0))
|
if (stuff->delete && (reply.bytesAfter == 0))
|
||||||
|
|
|
||||||
|
|
@ -84,191 +84,284 @@ SProcRRSelectInput (ClientPtr client)
|
||||||
static int
|
static int
|
||||||
SProcRRGetScreenSizeRange (ClientPtr client)
|
SProcRRGetScreenSizeRange (ClientPtr client)
|
||||||
{
|
{
|
||||||
|
int n;
|
||||||
REQUEST(xRRGetScreenSizeRangeReq);
|
REQUEST(xRRGetScreenSizeRangeReq);
|
||||||
|
|
||||||
REQUEST_SIZE_MATCH(xRRGetScreenSizeRangeReq);
|
REQUEST_SIZE_MATCH(xRRGetScreenSizeRangeReq);
|
||||||
(void) stuff;
|
swaps(&stuff->length, n);
|
||||||
return BadImplementation;
|
swapl(&stuff->window, n);
|
||||||
|
return (*ProcRandrVector[stuff->randrReqType]) (client);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
SProcRRSetScreenSize (ClientPtr client)
|
SProcRRSetScreenSize (ClientPtr client)
|
||||||
{
|
{
|
||||||
|
int n;
|
||||||
REQUEST(xRRSetScreenSizeReq);
|
REQUEST(xRRSetScreenSizeReq);
|
||||||
|
|
||||||
REQUEST_SIZE_MATCH(xRRSetScreenSizeReq);
|
REQUEST_SIZE_MATCH(xRRSetScreenSizeReq);
|
||||||
(void) stuff;
|
swaps(&stuff->length, n);
|
||||||
return BadImplementation;
|
swapl(&stuff->window, n);
|
||||||
|
swaps(&stuff->width, n);
|
||||||
|
swaps(&stuff->height, n);
|
||||||
|
swapl(&stuff->widthInMillimeters, n);
|
||||||
|
swapl(&stuff->heightInMillimeters, n);
|
||||||
|
return (*ProcRandrVector[stuff->randrReqType]) (client);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
SProcRRGetScreenResources (ClientPtr client)
|
SProcRRGetScreenResources (ClientPtr client)
|
||||||
{
|
{
|
||||||
|
int n;
|
||||||
REQUEST(xRRGetScreenResourcesReq);
|
REQUEST(xRRGetScreenResourcesReq);
|
||||||
|
|
||||||
REQUEST_SIZE_MATCH(xRRGetScreenResourcesReq);
|
REQUEST_SIZE_MATCH(xRRGetScreenResourcesReq);
|
||||||
(void) stuff;
|
swaps(&stuff->length, n);
|
||||||
return BadImplementation;
|
swapl(&stuff->window, n);
|
||||||
|
return (*ProcRandrVector[stuff->randrReqType]) (client);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
SProcRRGetOutputInfo (ClientPtr client)
|
SProcRRGetOutputInfo (ClientPtr client)
|
||||||
{
|
{
|
||||||
|
int n;
|
||||||
REQUEST(xRRGetOutputInfoReq);;
|
REQUEST(xRRGetOutputInfoReq);;
|
||||||
|
|
||||||
REQUEST_SIZE_MATCH(xRRGetOutputInfoReq);
|
REQUEST_SIZE_MATCH(xRRGetOutputInfoReq);
|
||||||
(void) stuff;
|
swaps(&stuff->length, n);
|
||||||
return BadImplementation;
|
swapl(&stuff->output, n);
|
||||||
|
swapl(&stuff->configTimestamp, n);
|
||||||
|
return (*ProcRandrVector[stuff->randrReqType]) (client);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
SProcRRListOutputProperties (ClientPtr client)
|
SProcRRListOutputProperties (ClientPtr client)
|
||||||
{
|
{
|
||||||
|
int n;
|
||||||
REQUEST(xRRListOutputPropertiesReq);
|
REQUEST(xRRListOutputPropertiesReq);
|
||||||
|
|
||||||
REQUEST_SIZE_MATCH(xRRListOutputPropertiesReq);
|
REQUEST_SIZE_MATCH(xRRListOutputPropertiesReq);
|
||||||
(void) stuff;
|
swaps(&stuff->length, n);
|
||||||
return BadImplementation;
|
swapl(&stuff->output, n);
|
||||||
|
return (*ProcRandrVector[stuff->randrReqType]) (client);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
SProcRRQueryOutputProperty (ClientPtr client)
|
SProcRRQueryOutputProperty (ClientPtr client)
|
||||||
{
|
{
|
||||||
|
int n;
|
||||||
REQUEST(xRRQueryOutputPropertyReq);
|
REQUEST(xRRQueryOutputPropertyReq);
|
||||||
|
|
||||||
REQUEST_SIZE_MATCH(xRRQueryOutputPropertyReq);
|
REQUEST_SIZE_MATCH(xRRQueryOutputPropertyReq);
|
||||||
(void) stuff;
|
swaps(&stuff->length, n);
|
||||||
return BadImplementation;
|
swapl(&stuff->output, n);
|
||||||
|
swapl(&stuff->property, n);
|
||||||
|
return (*ProcRandrVector[stuff->randrReqType]) (client);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
SProcRRConfigureOutputProperty (ClientPtr client)
|
SProcRRConfigureOutputProperty (ClientPtr client)
|
||||||
{
|
{
|
||||||
|
int n;
|
||||||
REQUEST(xRRConfigureOutputPropertyReq);
|
REQUEST(xRRConfigureOutputPropertyReq);
|
||||||
|
|
||||||
REQUEST_SIZE_MATCH(xRRConfigureOutputPropertyReq);
|
swaps(&stuff->length, n);
|
||||||
(void) stuff;
|
swapl(&stuff->output, n);
|
||||||
return BadImplementation;
|
swapl(&stuff->property, n);
|
||||||
|
SwapRestL(stuff);
|
||||||
|
return (*ProcRandrVector[stuff->randrReqType]) (client);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
SProcRRChangeOutputProperty (ClientPtr client)
|
SProcRRChangeOutputProperty (ClientPtr client)
|
||||||
{
|
{
|
||||||
|
int n;
|
||||||
REQUEST(xRRChangeOutputPropertyReq);
|
REQUEST(xRRChangeOutputPropertyReq);
|
||||||
|
|
||||||
REQUEST_SIZE_MATCH(xRRChangeOutputPropertyReq);
|
REQUEST_AT_LEAST_SIZE (xRRChangeOutputPropertyReq);
|
||||||
(void) stuff;
|
swaps(&stuff->length, n);
|
||||||
return BadImplementation;
|
swapl(&stuff->output, n);
|
||||||
|
swapl(&stuff->property, n);
|
||||||
|
swapl(&stuff->type, n);
|
||||||
|
swapl(&stuff->nUnits, n);
|
||||||
|
switch(stuff->format) {
|
||||||
|
case 8:
|
||||||
|
break;
|
||||||
|
case 16:
|
||||||
|
SwapRestS(stuff);
|
||||||
|
break;
|
||||||
|
case 32:
|
||||||
|
SwapRestL(stuff);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
client->errorValue = stuff->format;
|
||||||
|
return BadValue;
|
||||||
|
}
|
||||||
|
return (*ProcRandrVector[stuff->randrReqType]) (client);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
SProcRRDeleteOutputProperty (ClientPtr client)
|
SProcRRDeleteOutputProperty (ClientPtr client)
|
||||||
{
|
{
|
||||||
|
int n;
|
||||||
REQUEST(xRRDeleteOutputPropertyReq);
|
REQUEST(xRRDeleteOutputPropertyReq);
|
||||||
|
|
||||||
REQUEST_SIZE_MATCH(xRRDeleteOutputPropertyReq);
|
REQUEST_SIZE_MATCH(xRRDeleteOutputPropertyReq);
|
||||||
(void) stuff;
|
swaps(&stuff->length, n);
|
||||||
return BadImplementation;
|
swapl(&stuff->output, n);
|
||||||
|
swapl(&stuff->property, n);
|
||||||
|
return (*ProcRandrVector[stuff->randrReqType]) (client);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
SProcRRGetOutputProperty (ClientPtr client)
|
SProcRRGetOutputProperty (ClientPtr client)
|
||||||
{
|
{
|
||||||
|
int n;
|
||||||
REQUEST(xRRGetOutputPropertyReq);
|
REQUEST(xRRGetOutputPropertyReq);
|
||||||
|
|
||||||
REQUEST_SIZE_MATCH(xRRGetOutputPropertyReq);
|
REQUEST_SIZE_MATCH(xRRGetOutputPropertyReq);
|
||||||
(void) stuff;
|
swaps(&stuff->length, n);
|
||||||
return BadImplementation;
|
swapl(&stuff->output, n);
|
||||||
|
swapl(&stuff->property, n);
|
||||||
|
swapl(&stuff->type, n);
|
||||||
|
swapl(&stuff->longOffset, n);
|
||||||
|
swapl(&stuff->longLength, n);
|
||||||
|
return (*ProcRandrVector[stuff->randrReqType]) (client);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
SProcRRCreateMode (ClientPtr client)
|
SProcRRCreateMode (ClientPtr client)
|
||||||
{
|
{
|
||||||
|
int n;
|
||||||
|
xRRModeInfo *modeinfo;
|
||||||
REQUEST(xRRCreateModeReq);
|
REQUEST(xRRCreateModeReq);
|
||||||
|
|
||||||
REQUEST_SIZE_MATCH(xRRCreateModeReq);
|
REQUEST_AT_LEAST_SIZE(xRRCreateModeReq);
|
||||||
(void) stuff;
|
swaps(&stuff->length, n);
|
||||||
return BadImplementation;
|
swapl(&stuff->window, n);
|
||||||
|
|
||||||
|
modeinfo = &stuff->modeInfo;
|
||||||
|
swapl(&modeinfo->id, n);
|
||||||
|
swaps(&modeinfo->width, n);
|
||||||
|
swaps(&modeinfo->height, n);
|
||||||
|
swapl(&modeinfo->dotClock, n);
|
||||||
|
swaps(&modeinfo->hSyncStart, n);
|
||||||
|
swaps(&modeinfo->hSyncEnd, n);
|
||||||
|
swaps(&modeinfo->hTotal, n);
|
||||||
|
swaps(&modeinfo->vSyncStart, n);
|
||||||
|
swaps(&modeinfo->vSyncEnd, n);
|
||||||
|
swaps(&modeinfo->vTotal, n);
|
||||||
|
swaps(&modeinfo->nameLength, n);
|
||||||
|
swapl(&modeinfo->modeFlags, n);
|
||||||
|
return (*ProcRandrVector[stuff->randrReqType]) (client);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
SProcRRDestroyMode (ClientPtr client)
|
SProcRRDestroyMode (ClientPtr client)
|
||||||
{
|
{
|
||||||
|
int n;
|
||||||
REQUEST(xRRDestroyModeReq);
|
REQUEST(xRRDestroyModeReq);
|
||||||
|
|
||||||
REQUEST_SIZE_MATCH(xRRDestroyModeReq);
|
REQUEST_SIZE_MATCH(xRRDestroyModeReq);
|
||||||
(void) stuff;
|
swaps(&stuff->length, n);
|
||||||
return BadImplementation;
|
swapl(&stuff->mode, n);
|
||||||
|
return (*ProcRandrVector[stuff->randrReqType]) (client);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
SProcRRAddOutputMode (ClientPtr client)
|
SProcRRAddOutputMode (ClientPtr client)
|
||||||
{
|
{
|
||||||
|
int n;
|
||||||
REQUEST(xRRAddOutputModeReq);
|
REQUEST(xRRAddOutputModeReq);
|
||||||
|
|
||||||
REQUEST_SIZE_MATCH(xRRAddOutputModeReq);
|
REQUEST_SIZE_MATCH(xRRAddOutputModeReq);
|
||||||
(void) stuff;
|
swaps(&stuff->length, n);
|
||||||
return BadImplementation;
|
swapl(&stuff->output, n);
|
||||||
|
swapl(&stuff->mode, n);
|
||||||
|
return (*ProcRandrVector[stuff->randrReqType]) (client);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
SProcRRDeleteOutputMode (ClientPtr client)
|
SProcRRDeleteOutputMode (ClientPtr client)
|
||||||
{
|
{
|
||||||
|
int n;
|
||||||
REQUEST(xRRDeleteOutputModeReq);
|
REQUEST(xRRDeleteOutputModeReq);
|
||||||
|
|
||||||
REQUEST_SIZE_MATCH(xRRDeleteOutputModeReq);
|
REQUEST_SIZE_MATCH(xRRDeleteOutputModeReq);
|
||||||
(void) stuff;
|
swaps(&stuff->length, n);
|
||||||
return BadImplementation;
|
swapl(&stuff->output, n);
|
||||||
|
swapl(&stuff->mode, n);
|
||||||
|
return (*ProcRandrVector[stuff->randrReqType]) (client);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
SProcRRGetCrtcInfo (ClientPtr client)
|
SProcRRGetCrtcInfo (ClientPtr client)
|
||||||
{
|
{
|
||||||
|
int n;
|
||||||
REQUEST(xRRGetCrtcInfoReq);
|
REQUEST(xRRGetCrtcInfoReq);
|
||||||
|
|
||||||
REQUEST_SIZE_MATCH(xRRGetCrtcInfoReq);
|
REQUEST_SIZE_MATCH(xRRGetCrtcInfoReq);
|
||||||
(void) stuff;
|
swaps(&stuff->length, n);
|
||||||
return BadImplementation;
|
swapl(&stuff->crtc, n);
|
||||||
|
swapl(&stuff->configTimestamp, n);
|
||||||
|
return (*ProcRandrVector[stuff->randrReqType]) (client);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
SProcRRSetCrtcConfig (ClientPtr client)
|
SProcRRSetCrtcConfig (ClientPtr client)
|
||||||
{
|
{
|
||||||
|
int n;
|
||||||
REQUEST(xRRSetCrtcConfigReq);
|
REQUEST(xRRSetCrtcConfigReq);
|
||||||
|
|
||||||
REQUEST_SIZE_MATCH(xRRSetCrtcConfigReq);
|
REQUEST_AT_LEAST_SIZE(xRRSetCrtcConfigReq);
|
||||||
(void) stuff;
|
swaps(&stuff->length, n);
|
||||||
return BadImplementation;
|
swapl(&stuff->crtc, n);
|
||||||
|
swapl(&stuff->timestamp, n);
|
||||||
|
swapl(&stuff->configTimestamp, n);
|
||||||
|
swaps(&stuff->x, n);
|
||||||
|
swaps(&stuff->y, n);
|
||||||
|
swapl(&stuff->mode, n);
|
||||||
|
swaps(&stuff->rotation, n);
|
||||||
|
SwapRestL(stuff);
|
||||||
|
return (*ProcRandrVector[stuff->randrReqType]) (client);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
SProcRRGetCrtcGammaSize (ClientPtr client)
|
SProcRRGetCrtcGammaSize (ClientPtr client)
|
||||||
{
|
{
|
||||||
|
int n;
|
||||||
REQUEST(xRRGetCrtcGammaSizeReq);
|
REQUEST(xRRGetCrtcGammaSizeReq);
|
||||||
|
|
||||||
REQUEST_SIZE_MATCH(xRRGetCrtcGammaSizeReq);
|
REQUEST_SIZE_MATCH(xRRGetCrtcGammaSizeReq);
|
||||||
(void) stuff;
|
swaps(&stuff->length, n);
|
||||||
return BadImplementation;
|
swapl(&stuff->crtc, n);
|
||||||
|
return (*ProcRandrVector[stuff->randrReqType]) (client);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
SProcRRGetCrtcGamma (ClientPtr client)
|
SProcRRGetCrtcGamma (ClientPtr client)
|
||||||
{
|
{
|
||||||
|
int n;
|
||||||
REQUEST(xRRGetCrtcGammaReq);
|
REQUEST(xRRGetCrtcGammaReq);
|
||||||
|
|
||||||
REQUEST_SIZE_MATCH(xRRGetCrtcGammaReq);
|
REQUEST_SIZE_MATCH(xRRGetCrtcGammaReq);
|
||||||
(void) stuff;
|
swaps(&stuff->length, n);
|
||||||
return BadImplementation;
|
swapl(&stuff->crtc, n);
|
||||||
|
return (*ProcRandrVector[stuff->randrReqType]) (client);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
SProcRRSetCrtcGamma (ClientPtr client)
|
SProcRRSetCrtcGamma (ClientPtr client)
|
||||||
{
|
{
|
||||||
|
int n;
|
||||||
REQUEST(xRRSetCrtcGammaReq);
|
REQUEST(xRRSetCrtcGammaReq);
|
||||||
|
|
||||||
REQUEST_SIZE_MATCH(xRRSetCrtcGammaReq);
|
REQUEST_AT_LEAST_SIZE(xRRSetCrtcGammaReq);
|
||||||
(void) stuff;
|
swaps(&stuff->length, n);
|
||||||
return BadImplementation;
|
swapl(&stuff->crtc, n);
|
||||||
|
swaps(&stuff->size, n);
|
||||||
|
SwapRestS(stuff);
|
||||||
|
return (*ProcRandrVector[stuff->randrReqType]) (client);
|
||||||
}
|
}
|
||||||
|
|
||||||
int (*SProcRandrVector[RRNumberRequests])(ClientPtr) = {
|
int (*SProcRandrVector[RRNumberRequests])(ClientPtr) = {
|
||||||
|
|
|
||||||
|
|
@ -138,10 +138,11 @@ ProcRRXineramaGetState(ClientPtr client)
|
||||||
rep.length = 0;
|
rep.length = 0;
|
||||||
rep.sequenceNumber = client->sequence;
|
rep.sequenceNumber = client->sequence;
|
||||||
rep.state = active;
|
rep.state = active;
|
||||||
|
rep.window = stuff->window;
|
||||||
if(client->swapped) {
|
if(client->swapped) {
|
||||||
swaps (&rep.sequenceNumber, n);
|
swaps (&rep.sequenceNumber, n);
|
||||||
swapl (&rep.length, n);
|
swapl (&rep.length, n);
|
||||||
swaps (&rep.state, n);
|
swapl (&rep.window, n);
|
||||||
}
|
}
|
||||||
WriteToClient(client, sizeof(xPanoramiXGetStateReply), (char *)&rep);
|
WriteToClient(client, sizeof(xPanoramiXGetStateReply), (char *)&rep);
|
||||||
return client->noClientException;
|
return client->noClientException;
|
||||||
|
|
@ -192,10 +193,11 @@ ProcRRXineramaGetScreenCount(ClientPtr client)
|
||||||
rep.length = 0;
|
rep.length = 0;
|
||||||
rep.sequenceNumber = client->sequence;
|
rep.sequenceNumber = client->sequence;
|
||||||
rep.ScreenCount = RRXineramaScreenCount (pWin->drawable.pScreen);
|
rep.ScreenCount = RRXineramaScreenCount (pWin->drawable.pScreen);
|
||||||
|
rep.window = stuff->window;
|
||||||
if(client->swapped) {
|
if(client->swapped) {
|
||||||
swaps(&rep.sequenceNumber, n);
|
swaps(&rep.sequenceNumber, n);
|
||||||
swapl(&rep.length, n);
|
swapl(&rep.length, n);
|
||||||
swaps(&rep.ScreenCount, n);
|
swapl(&rep.window, n);
|
||||||
}
|
}
|
||||||
WriteToClient(client, sizeof(xPanoramiXGetScreenCountReply), (char *)&rep);
|
WriteToClient(client, sizeof(xPanoramiXGetScreenCountReply), (char *)&rep);
|
||||||
return client->noClientException;
|
return client->noClientException;
|
||||||
|
|
@ -223,11 +225,15 @@ ProcRRXineramaGetScreenSize(ClientPtr client)
|
||||||
rep.sequenceNumber = client->sequence;
|
rep.sequenceNumber = client->sequence;
|
||||||
rep.width = pRoot->drawable.width;
|
rep.width = pRoot->drawable.width;
|
||||||
rep.height = pRoot->drawable.height;
|
rep.height = pRoot->drawable.height;
|
||||||
|
rep.window = stuff->window;
|
||||||
|
rep.screen = stuff->screen;
|
||||||
if(client->swapped) {
|
if(client->swapped) {
|
||||||
swaps(&rep.sequenceNumber, n);
|
swaps(&rep.sequenceNumber, n);
|
||||||
swapl(&rep.length, n);
|
swapl(&rep.length, n);
|
||||||
swaps(&rep.width, n);
|
swapl(&rep.width, n);
|
||||||
swaps(&rep.height, n);
|
swapl(&rep.height, n);
|
||||||
|
swapl(&rep.window, n);
|
||||||
|
swapl(&rep.screen, n);
|
||||||
}
|
}
|
||||||
WriteToClient(client, sizeof(xPanoramiXGetScreenSizeReply), (char *)&rep);
|
WriteToClient(client, sizeof(xPanoramiXGetScreenSizeReply), (char *)&rep);
|
||||||
return client->noClientException;
|
return client->noClientException;
|
||||||
|
|
@ -351,6 +357,7 @@ SProcRRXineramaGetState(ClientPtr client)
|
||||||
register int n;
|
register int n;
|
||||||
swaps (&stuff->length, n);
|
swaps (&stuff->length, n);
|
||||||
REQUEST_SIZE_MATCH(xPanoramiXGetStateReq);
|
REQUEST_SIZE_MATCH(xPanoramiXGetStateReq);
|
||||||
|
swapl (&stuff->window, n);
|
||||||
return ProcRRXineramaGetState(client);
|
return ProcRRXineramaGetState(client);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -361,6 +368,7 @@ SProcRRXineramaGetScreenCount(ClientPtr client)
|
||||||
register int n;
|
register int n;
|
||||||
swaps (&stuff->length, n);
|
swaps (&stuff->length, n);
|
||||||
REQUEST_SIZE_MATCH(xPanoramiXGetScreenCountReq);
|
REQUEST_SIZE_MATCH(xPanoramiXGetScreenCountReq);
|
||||||
|
swapl (&stuff->window, n);
|
||||||
return ProcRRXineramaGetScreenCount(client);
|
return ProcRRXineramaGetScreenCount(client);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -371,6 +379,8 @@ SProcRRXineramaGetScreenSize(ClientPtr client)
|
||||||
register int n;
|
register int n;
|
||||||
swaps (&stuff->length, n);
|
swaps (&stuff->length, n);
|
||||||
REQUEST_SIZE_MATCH(xPanoramiXGetScreenSizeReq);
|
REQUEST_SIZE_MATCH(xPanoramiXGetScreenSizeReq);
|
||||||
|
swapl (&stuff->window, n);
|
||||||
|
swapl (&stuff->screen, n);
|
||||||
return ProcRRXineramaGetScreenSize(client);
|
return ProcRRXineramaGetScreenSize(client);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue