diff options
author | Kaleb Keithley <kaleb@freedesktop.org> | 2003-11-25 19:29:01 +0000 |
---|---|---|
committer | Kaleb Keithley <kaleb@freedesktop.org> | 2003-11-25 19:29:01 +0000 |
commit | adc7f9a4ebdfe11d4cd6de9388b63dfe36450b39 (patch) | |
tree | 23eb7becc5360b2cbe16aa8d45529880067f3989 /Xext | |
parent | 90f1536dd315cd265bfc7ef35058761a65a01734 (diff) |
XFree86 4.3.99.16 Bring the tree up to date for the Cygwin folks
Diffstat (limited to 'Xext')
-rw-r--r-- | Xext/EVI.c | 29 | ||||
-rw-r--r-- | Xext/EVIstruct.h | 15 | ||||
-rw-r--r-- | Xext/appgroup.c | 181 | ||||
-rw-r--r-- | Xext/bigreq.c | 19 | ||||
-rw-r--r-- | Xext/cup.c | 59 | ||||
-rw-r--r-- | Xext/dpms.c | 14 | ||||
-rw-r--r-- | Xext/dpmsproc.h | 4 | ||||
-rw-r--r-- | Xext/dpmsstubs.c | 6 | ||||
-rw-r--r-- | Xext/fontcache.c | 12 | ||||
-rw-r--r-- | Xext/mbuf.c | 38 | ||||
-rw-r--r-- | Xext/mbufbf.c | 39 | ||||
-rw-r--r-- | Xext/mitmisc.c | 15 | ||||
-rw-r--r-- | Xext/panoramiX.c | 155 | ||||
-rw-r--r-- | Xext/panoramiX.h | 3 | ||||
-rw-r--r-- | Xext/panoramiXSwap.c | 25 | ||||
-rw-r--r-- | Xext/panoramiXprocs.c | 98 | ||||
-rw-r--r-- | Xext/sampleEVI.c | 9 | ||||
-rw-r--r-- | Xext/saver.c | 165 | ||||
-rw-r--r-- | Xext/security.c | 162 | ||||
-rw-r--r-- | Xext/shape.c | 43 | ||||
-rw-r--r-- | Xext/shm.c | 53 | ||||
-rw-r--r-- | Xext/sleepuntil.c | 16 | ||||
-rw-r--r-- | Xext/sleepuntil.h | 6 | ||||
-rw-r--r-- | Xext/sync.c | 79 | ||||
-rw-r--r-- | Xext/xcmisc.c | 16 | ||||
-rw-r--r-- | Xext/xf86bigfont.c | 39 | ||||
-rw-r--r-- | Xext/xprint.c | 45 | ||||
-rw-r--r-- | Xext/xres.c | 15 | ||||
-rw-r--r-- | Xext/xtest.c | 58 | ||||
-rw-r--r-- | Xext/xtest1dd.c | 41 | ||||
-rw-r--r-- | Xext/xtest1dd.h | 30 | ||||
-rw-r--r-- | Xext/xtest1di.c | 30 | ||||
-rw-r--r-- | Xext/xvdisp.c | 18 | ||||
-rw-r--r-- | Xext/xvmain.c | 34 | ||||
-rw-r--r-- | Xext/xvmc.c | 2 | ||||
-rw-r--r-- | Xext/xvmcext.h | 4 |
36 files changed, 780 insertions, 797 deletions
diff --git a/Xext/EVI.c b/Xext/EVI.c index aa3734b02..09aa03b64 100644 --- a/Xext/EVI.c +++ b/Xext/EVI.c @@ -21,7 +21,7 @@ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ********************************************************/ -/* $XFree86: xc/programs/Xserver/Xext/EVI.c,v 3.9 2001/10/28 03:32:50 tsi Exp $ */ +/* $XFree86: xc/programs/Xserver/Xext/EVI.c,v 3.11 2003/10/28 23:08:43 tsi Exp $ */ #include "X.h" #include "Xproto.h" @@ -31,8 +31,13 @@ THE USE OR PERFORMANCE OF THIS SOFTWARE. #define _XEVI_SERVER_ #include "XEVIstr.h" #include "EVIstruct.h" +#include "modinit.h" + +#if 0 static unsigned char XEVIReqCode = 0; +#endif static EviPrivPtr eviPriv; + static int ProcEVIQueryVersion(ClientPtr client) { @@ -74,6 +79,7 @@ ProcEVIQueryVersion(ClientPtr client) visual1++; \ } \ } + static int ProcEVIGetVisualInfo(ClientPtr client) { @@ -109,6 +115,7 @@ ProcEVIGetVisualInfo(ClientPtr client) eviPriv->freeVisualInfo(eviInfo, conflict); return (client->noClientException); } + static int ProcEVIDispatch(ClientPtr client) { @@ -122,15 +129,16 @@ ProcEVIDispatch(ClientPtr client) return BadRequest; } } + static int -SProcEVIQueryVersion(client) -ClientPtr client; +SProcEVIQueryVersion(ClientPtr client) { REQUEST(xEVIQueryVersionReq); int n; swaps(&stuff->length, n); return ProcEVIQueryVersion(client); } + static int SProcEVIGetVisualInfo(ClientPtr client) { @@ -139,6 +147,7 @@ SProcEVIGetVisualInfo(ClientPtr client) swaps(&stuff->length, n); return ProcEVIGetVisualInfo(client); } + static int SProcEVIDispatch(ClientPtr client) { @@ -153,12 +162,14 @@ SProcEVIDispatch(ClientPtr client) return BadRequest; } } + /*ARGSUSED*/ static void EVIResetProc(ExtensionEntry *extEntry) { eviDDXReset(); } + /**************** * XEVIExtensionInit * @@ -167,15 +178,21 @@ EVIResetProc(ExtensionEntry *extEntry) * ****************/ void -EVIExtensionInit(void) +EVIExtensionInit(INITARGS) { +#if 0 ExtensionEntry *extEntry; + if ((extEntry = AddExtension(EVINAME, 0, 0, ProcEVIDispatch, SProcEVIDispatch, - EVIResetProc, StandardMinorOpcode))) - { + EVIResetProc, StandardMinorOpcode))) { XEVIReqCode = (unsigned char)extEntry->base; +#else + if (AddExtension(EVINAME, 0, 0, + ProcEVIDispatch, SProcEVIDispatch, + EVIResetProc, StandardMinorOpcode)) { +#endif eviPriv = eviDDXInit(); } } diff --git a/Xext/EVIstruct.h b/Xext/EVIstruct.h index 9bb24b0d2..dfe4423f8 100644 --- a/Xext/EVIstruct.h +++ b/Xext/EVIstruct.h @@ -21,33 +21,36 @@ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ********************************************************/ +/* $XFree86: xc/programs/Xserver/Xext/EVIstruct.h,v 3.6 2003/11/17 22:20:26 dawes Exp $ */ + #ifndef EVI_STRUCT_H #define EVI_STRUCT_H + /* ****************************************************************************** ** Per-ddx data ****************************************************************************** */ + typedef int (*GetVisualInfoProc)( -#if NeedNestedPrototypes VisualID32*, int, xExtendedVisualInfo**, int*, VisualID32**, int* -#endif ); + typedef void (*FreeVisualInfoProc)( -#if NeedNestedPrototypes xExtendedVisualInfo*, VisualID32* -#endif ); typedef struct _EviPrivRec { GetVisualInfoProc getVisualInfo; FreeVisualInfoProc freeVisualInfo; } EviPrivRec, *EviPrivPtr; -extern EviPrivPtr eviDDXInit(); -extern void eviDDXReset(); + +extern EviPrivPtr eviDDXInit(void); +extern void eviDDXReset(void); + #endif /* EVI_STRUCT_H */ diff --git a/Xext/appgroup.c b/Xext/appgroup.c index 37e6ee0bc..8718e3630 100644 --- a/Xext/appgroup.c +++ b/Xext/appgroup.c @@ -1,4 +1,4 @@ -/* $XFree86: xc/programs/Xserver/Xext/appgroup.c,v 1.9 2001/12/17 20:52:25 dawes Exp $ */ +/* $XFree86: xc/programs/Xserver/Xext/appgroup.c,v 1.11 2003/10/28 23:08:43 tsi Exp $ */ /* Copyright 1996, 1998, 2001 The Open Group @@ -39,6 +39,7 @@ from The Open Group. #include "servermd.h" #define _XAG_SERVER_ #include "Xagstr.h" +#include "Xagsrv.h" #define _SECURITY_SERVER #include "security.h" #include "Xfuncproto.h" @@ -49,6 +50,9 @@ from The Open Group. #include <stdio.h> +#include "modinit.h" +#include "appgroup.h" + typedef struct _AppGroupRec { struct _AppGroupRec* next; XID appgroupId; @@ -65,11 +69,14 @@ typedef struct _AppGroupRec { char* ConnectionInfo; } AppGroupRec, *AppGroupPtr; -static int ProcXagDispatch (), SProcXagDispatch (); -static void XagResetProc (); +static int ProcXagDispatch(ClientPtr client); +static int SProcXagDispatch(ClientPtr client); +static void XagResetProc(ExtensionEntry* extEntry); +#if 0 static unsigned char XagReqCode = 0; static int XagErrorBase; +#endif static int XagCallbackRefCount = 0; static RESTYPE RT_APPGROUP; @@ -80,9 +87,9 @@ extern char* ConnectionInfo; extern int connBlockScreenStart; static -int XagAppGroupFree (what, id) - pointer what; - XID id; /* unused */ +int XagAppGroupFree( + pointer what, + XID id) /* unused */ { int i; AppGroupPtr pAppGrp = (AppGroupPtr) what; @@ -113,10 +120,10 @@ int XagAppGroupFree (what, id) } /* static */ -void XagClientStateChange (pcbl, nulldata, calldata) - CallbackListPtr* pcbl; - pointer nulldata; - pointer calldata; +void XagClientStateChange( + CallbackListPtr* pcbl, + pointer nulldata, + pointer calldata) { SecurityAuthorizationPtr pAuth; NewClientInfoRec* pci = (NewClientInfoRec*) calldata; @@ -217,8 +224,9 @@ void XagClientStateChange (pcbl, nulldata, calldata) } void -XagExtensionInit () +XagExtensionInit(INITARGS) { +#if 0 ExtensionEntry* extEntry; if ((extEntry = AddExtension (XAGNAME, @@ -230,14 +238,23 @@ XagExtensionInit () StandardMinorOpcode))) { XagReqCode = (unsigned char)extEntry->base; XagErrorBase = extEntry->errorBase; +#else + if (AddExtension (XAGNAME, + 0, + XagNumberErrors, + ProcXagDispatch, + SProcXagDispatch, + XagResetProc, + StandardMinorOpcode)) { +#endif RT_APPGROUP = CreateNewResourceType (XagAppGroupFree); } } /*ARGSUSED*/ static -void XagResetProc (extEntry) - ExtensionEntry* extEntry; +void XagResetProc( + ExtensionEntry* extEntry) { DeleteCallback (&ClientStateCallback, XagClientStateChange, NULL); XagCallbackRefCount = 0; @@ -245,8 +262,8 @@ void XagResetProc (extEntry) } static -int ProcXagQueryVersion (client) - register ClientPtr client; +int ProcXagQueryVersion( + register ClientPtr client) { /* REQUEST (xXagQueryVersionReq); */ xXagQueryVersionReply rep; @@ -269,11 +286,11 @@ int ProcXagQueryVersion (client) } static -void ProcessAttr (pAppGrp, client, attrib_mask, attribs) - AppGroupPtr pAppGrp; - ClientPtr client; - unsigned int attrib_mask; - CARD32* attribs; +void ProcessAttr( + AppGroupPtr pAppGrp, + ClientPtr client, + unsigned int attrib_mask, + CARD32* attribs) { int i; @@ -307,8 +324,8 @@ void ProcessAttr (pAppGrp, client, attrib_mask, attribs) } static -void CreateConnectionInfo (pAppGrp) - AppGroupPtr pAppGrp; +void CreateConnectionInfo( + AppGroupPtr pAppGrp) { xWindowRoot* rootp; xWindowRoot* roots[MAXSCREENS]; @@ -368,11 +385,11 @@ void CreateConnectionInfo (pAppGrp) } static -AppGroupPtr CreateAppGroup (client, appgroupId, attrib_mask, attribs) - ClientPtr client; - XID appgroupId; - unsigned int attrib_mask; - CARD32* attribs; +AppGroupPtr CreateAppGroup( + ClientPtr client, + XID appgroupId, + unsigned int attrib_mask, + CARD32* attribs) { AppGroupPtr pAppGrp; @@ -396,10 +413,10 @@ AppGroupPtr CreateAppGroup (client, appgroupId, attrib_mask, attribs) } static -int AttrValidate (client, attrib_mask, pAppGrp) - ClientPtr client; - int attrib_mask; - AppGroupPtr pAppGrp; +int AttrValidate( + ClientPtr client, + int attrib_mask, + AppGroupPtr pAppGrp) { WindowPtr pWin; int idepth, ivids, found; @@ -439,8 +456,8 @@ int AttrValidate (client, attrib_mask, pAppGrp) } /* static */ -int ProcXagCreate (client) - register ClientPtr client; +int ProcXagCreate ( + register ClientPtr client) { REQUEST (xXagCreateReq); AppGroupPtr pAppGrp; @@ -471,8 +488,8 @@ int ProcXagCreate (client) } /* static */ -int ProcXagDestroy (client) - register ClientPtr client; +int ProcXagDestroy( + register ClientPtr client) { AppGroupPtr pAppGrp; REQUEST (xXagDestroyReq); @@ -488,8 +505,8 @@ int ProcXagDestroy (client) } static -int ProcXagGetAttr (client) - register ClientPtr client; +int ProcXagGetAttr( + register ClientPtr client) { AppGroupPtr pAppGrp; REQUEST (xXagGetAttrReq); @@ -524,8 +541,8 @@ int ProcXagGetAttr (client) } static -int ProcXagQuery (client) - register ClientPtr client; +int ProcXagQuery( + register ClientPtr client) { ClientPtr pClient; AppGroupPtr pAppGrp; @@ -556,8 +573,8 @@ int ProcXagQuery (client) } static -int ProcXagCreateAssoc (client) - register ClientPtr client; +int ProcXagCreateAssoc( + register ClientPtr client) { REQUEST (xXagCreateAssocReq); @@ -579,8 +596,8 @@ int ProcXagCreateAssoc (client) } static -int ProcXagDestroyAssoc (client) - register ClientPtr client; +int ProcXagDestroyAssoc( + register ClientPtr client) { /* REQUEST (xXagDestroyAssocReq); */ @@ -590,8 +607,8 @@ int ProcXagDestroyAssoc (client) } static -int ProcXagDispatch (client) - register ClientPtr client; +int ProcXagDispatch ( + register ClientPtr client) { REQUEST (xReq); switch (stuff->data) @@ -616,8 +633,8 @@ int ProcXagDispatch (client) } static -int SProcXagQueryVersion (client) - register ClientPtr client; +int SProcXagQueryVersion( + register ClientPtr client) { register int n; REQUEST(xXagQueryVersionReq); @@ -626,8 +643,8 @@ int SProcXagQueryVersion (client) } static -int SProcXagCreate (client) - ClientPtr client; +int SProcXagCreate( + ClientPtr client) { register int n; REQUEST (xXagCreateReq); @@ -640,8 +657,8 @@ int SProcXagCreate (client) } static -int SProcXagDestroy (client) - ClientPtr client; +int SProcXagDestroy( + ClientPtr client) { register int n; REQUEST (xXagDestroyReq); @@ -652,8 +669,8 @@ int SProcXagDestroy (client) } static -int SProcXagGetAttr (client) - ClientPtr client; +int SProcXagGetAttr( + ClientPtr client) { register int n; REQUEST (xXagGetAttrReq); @@ -664,8 +681,8 @@ int SProcXagGetAttr (client) } static -int SProcXagQuery (client) - ClientPtr client; +int SProcXagQuery( + ClientPtr client) { register int n; REQUEST (xXagQueryReq); @@ -676,8 +693,8 @@ int SProcXagQuery (client) } static -int SProcXagCreateAssoc (client) - ClientPtr client; +int SProcXagCreateAssoc( + ClientPtr client) { register int n; REQUEST (xXagCreateAssocReq); @@ -690,8 +707,8 @@ int SProcXagCreateAssoc (client) } static -int SProcXagDestroyAssoc (client) - ClientPtr client; +int SProcXagDestroyAssoc( + ClientPtr client) { register int n; REQUEST (xXagDestroyAssocReq); @@ -702,8 +719,8 @@ int SProcXagDestroyAssoc (client) } static -int SProcXagDispatch (client) - register ClientPtr client; +int SProcXagDispatch( + register ClientPtr client) { REQUEST(xReq); switch (stuff->data) @@ -727,20 +744,20 @@ int SProcXagDispatch (client) } } -Colormap XagDefaultColormap (client) - ClientPtr client; +Colormap XagDefaultColormap( + ClientPtr client) { return (client->appgroup ? client->appgroup->default_colormap : None); } -VisualID XagRootVisual (client) - ClientPtr client; +VisualID XagRootVisual( + ClientPtr client) { return (client->appgroup ? client->appgroup->root_visual : 0); } -ClientPtr XagLeader (client) - ClientPtr client; +ClientPtr XagLeader( + ClientPtr client) { return (client->appgroup ? client->appgroup->leader : NULL); } @@ -750,9 +767,9 @@ ClientPtr XagLeader (client) * We don't want to send it to the leader when the window is on a different * screen, e.g. a print screen. */ -Bool XagIsControlledRoot (client, pParent) - ClientPtr client; - WindowPtr pParent; +Bool XagIsControlledRoot( + ClientPtr client, + WindowPtr pParent) { if (client->appgroup) { if (client->appgroup->single_screen && @@ -766,11 +783,11 @@ Bool XagIsControlledRoot (client, pParent) return FALSE; } -void XagConnectionInfo (client, conn_prefix, conn_info, num_screen) - ClientPtr client; - xConnSetupPrefix** conn_prefix; - char** conn_info; - int* num_screen; +void XagConnectionInfo( + ClientPtr client, + xConnSetupPrefix** conn_prefix, + char** conn_info, + int* num_screen) { if (client->appgroup && client->appgroup->ConnectionInfo) { *conn_prefix = &client->appgroup->connSetupPrefix; @@ -779,15 +796,15 @@ void XagConnectionInfo (client, conn_prefix, conn_info, num_screen) } } -XID XagId (client) - ClientPtr client; +XID XagId( + ClientPtr client) { return (client->appgroup ? client->appgroup->appgroupId : 0); } -void XagGetDeltaInfo (client, buf) - ClientPtr client; - CARD32* buf; +void XagGetDeltaInfo( + ClientPtr client, + CARD32* buf) { *buf++ = (CARD32) client->appgroup->default_root; *buf++ = (CARD32) client->appgroup->root_visual; @@ -796,8 +813,8 @@ void XagGetDeltaInfo (client, buf) *buf = (CARD32) client->appgroup->white_pixel; } -void XagCallClientStateChange (client) - ClientPtr client; +void XagCallClientStateChange( + ClientPtr client) { if (appGrpList) { NewClientInfoRec clientinfo; diff --git a/Xext/bigreq.c b/Xext/bigreq.c index 0d2dc5178..ae73783d9 100644 --- a/Xext/bigreq.c +++ b/Xext/bigreq.c @@ -26,7 +26,7 @@ other dealings in this Software without prior written authorization from The Open Group. */ -/* $XFree86: xc/programs/Xserver/Xext/bigreq.c,v 3.5 2001/12/14 19:58:48 dawes Exp $ */ +/* $XFree86: xc/programs/Xserver/Xext/bigreq.c,v 3.9 2003/11/17 22:20:26 dawes Exp $ */ #define NEED_EVENTS #include "X.h" @@ -36,26 +36,35 @@ from The Open Group. #include "dixstruct.h" #include "extnsionst.h" #include "bigreqstr.h" +#include "opaque.h" +#include "modinit.h" +#if 0 static unsigned char XBigReqCode; +#endif static void BigReqResetProc( -#if NeedFunctionPrototypes ExtensionEntry * /* extEntry */ -#endif ); static DISPATCH_PROC(ProcBigReqDispatch); void -BigReqExtensionInit() +BigReqExtensionInit(INITARGS) { +#if 0 ExtensionEntry *extEntry; if ((extEntry = AddExtension(XBigReqExtensionName, 0, 0, ProcBigReqDispatch, ProcBigReqDispatch, BigReqResetProc, StandardMinorOpcode)) != 0) XBigReqCode = (unsigned char)extEntry->base; +#else + (void) AddExtension(XBigReqExtensionName, 0, 0, + ProcBigReqDispatch, ProcBigReqDispatch, + BigReqResetProc, StandardMinorOpcode); +#endif + DeclareExtensionSecurity(XBigReqExtensionName, TRUE); } @@ -84,7 +93,7 @@ ProcBigReqDispatch (client) rep.type = X_Reply; rep.length = 0; rep.sequenceNumber = client->sequence; - rep.max_request_size = MAX_BIG_REQUEST_SIZE; + rep.max_request_size = maxBigRequestSize; if (client->swapped) { swaps(&rep.sequenceNumber, n); swapl(&rep.max_request_size, n); diff --git a/Xext/cup.c b/Xext/cup.c index 2159417bb..70c6fa610 100644 --- a/Xext/cup.c +++ b/Xext/cup.c @@ -24,7 +24,7 @@ used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from The Open Group. */ -/* $XFree86: xc/programs/Xserver/Xext/cup.c,v 1.10 2001/12/14 19:58:48 dawes Exp $ */ +/* $XFree86: xc/programs/Xserver/Xext/cup.c,v 1.12 2003/10/28 23:08:43 tsi Exp $ */ #define NEED_REPLIES #define NEED_EVENTS @@ -47,11 +47,16 @@ in this Software without prior written authorization from The Open Group. #include "xf86_ansic.h" #endif -static int ProcDispatch (), SProcDispatch (); -static void ResetProc (); +#include "modinit.h" +static int ProcDispatch(ClientPtr client); +static int SProcDispatch(ClientPtr client); +static void ResetProc(ExtensionEntry* extEntry); + +#if 0 static unsigned char ReqCode = 0; static int ErrorBase; +#endif #if defined(WIN32) || defined(TESTWIN32) #define HAVE_SPECIAL_DESKTOP_COLORS @@ -123,8 +128,9 @@ static xColorItem citems[] = { #define NUM_DESKTOP_COLORS (sizeof citems / sizeof citems[0]) void -XcupExtensionInit () +XcupExtensionInit (INITARGS) { +#if 0 ExtensionEntry* extEntry; if ((extEntry = AddExtension (XCUPNAME, @@ -137,20 +143,29 @@ XcupExtensionInit () ReqCode = (unsigned char)extEntry->base; ErrorBase = extEntry->errorBase; } +#else + (void) AddExtension (XCUPNAME, + 0, + XcupNumberErrors, + ProcDispatch, + SProcDispatch, + ResetProc, + StandardMinorOpcode); +#endif /* PC servers initialize the desktop colors (citems) here! */ } /*ARGSUSED*/ static -void ResetProc (extEntry) - ExtensionEntry* extEntry; +void ResetProc( + ExtensionEntry* extEntry) { } static -int ProcQueryVersion (client) - register ClientPtr client; +int ProcQueryVersion( + register ClientPtr client) { /* REQUEST (xXcupQueryVersionReq); */ xXcupQueryVersionReply rep; @@ -173,8 +188,8 @@ int ProcQueryVersion (client) } static -int ProcGetReservedColormapEntries (client) - register ClientPtr client; +int ProcGetReservedColormapEntries( + register ClientPtr client) { REQUEST (xXcupGetReservedColormapEntriesReq); xXcupGetReservedColormapEntriesReply rep; @@ -206,8 +221,8 @@ int ProcGetReservedColormapEntries (client) } static -int ProcStoreColors (client) - register ClientPtr client; +int ProcStoreColors( + register ClientPtr client) { REQUEST (xXcupStoreColorsReq); ColormapPtr pcmp; @@ -265,8 +280,8 @@ int ProcStoreColors (client) } static -int ProcDispatch (client) - register ClientPtr client; +int ProcDispatch( + register ClientPtr client) { REQUEST (xReq); switch (stuff->data) @@ -283,8 +298,8 @@ int ProcDispatch (client) } static -int SProcQueryVersion (client) - register ClientPtr client; +int SProcQueryVersion( + register ClientPtr client) { register int n; @@ -294,8 +309,8 @@ int SProcQueryVersion (client) } static -int SProcGetReservedColormapEntries (client) - ClientPtr client; +int SProcGetReservedColormapEntries( + ClientPtr client) { register int n; @@ -307,8 +322,8 @@ int SProcGetReservedColormapEntries (client) } static -int SProcXcupStoreColors (client) - ClientPtr client; +int SProcXcupStoreColors( + ClientPtr client) { register int n; int count; @@ -325,8 +340,8 @@ int SProcXcupStoreColors (client) } static -int SProcDispatch (client) - register ClientPtr client; +int SProcDispatch( + register ClientPtr client) { REQUEST(xReq); switch (stuff->data) diff --git a/Xext/dpms.c b/Xext/dpms.c index 23c377fb4..584c32b22 100644 --- a/Xext/dpms.c +++ b/Xext/dpms.c @@ -33,7 +33,7 @@ Equipment Corporation. * @(#)RCSfile: dpms.c,v Revision: 1.1.4.5 (DEC) Date: 1996/03/04 15:27:00 */ -/* $XFree86: xc/programs/Xserver/Xext/dpms.c,v 3.9 2001/10/28 03:32:50 tsi Exp $ */ +/* $XFree86: xc/programs/Xserver/Xext/dpms.c,v 3.11 2003/10/28 23:08:43 tsi Exp $ */ #include "X.h" #include "Xproto.h" @@ -46,8 +46,11 @@ Equipment Corporation. #include "dpms.h" #include "dpmsstr.h" #include "dpmsproc.h" +#include "modinit.h" +#if 0 static unsigned char DPMSCode; +#endif static DISPATCH_PROC(ProcDPMSDispatch); static DISPATCH_PROC(SProcDPMSDispatch); static DISPATCH_PROC(ProcDPMSGetVersion); @@ -69,15 +72,20 @@ static DISPATCH_PROC(SProcDPMSCapable); static void DPMSResetProc(ExtensionEntry* extEntry); void -DPMSExtensionInit() +DPMSExtensionInit(INITARGS) { +#if 0 ExtensionEntry *extEntry; if ((extEntry = AddExtension(DPMSExtensionName, 0, 0, ProcDPMSDispatch, SProcDPMSDispatch, DPMSResetProc, StandardMinorOpcode))) DPMSCode = (unsigned char)extEntry->base; - return; +#else + (void) AddExtension(DPMSExtensionName, 0, 0, + ProcDPMSDispatch, SProcDPMSDispatch, + DPMSResetProc, StandardMinorOpcode); +#endif } /*ARGSUSED*/ diff --git a/Xext/dpmsproc.h b/Xext/dpmsproc.h index 1b045cc7c..b8260491e 100644 --- a/Xext/dpmsproc.h +++ b/Xext/dpmsproc.h @@ -1,4 +1,4 @@ -/* $XFree86: xc/programs/Xserver/Xext/dpmsproc.h,v 1.3 2001/10/28 03:32:50 tsi Exp $ */ +/* $XFree86: xc/programs/Xserver/Xext/dpmsproc.h,v 1.4 2003/07/16 01:38:29 dawes Exp $ */ /* Prototypes for functions that the DDX must provide */ @@ -6,7 +6,7 @@ #define _DPMSPROC_H_ void DPMSSet(int level); -int DPMSGet(int *level); +int DPMSGet(int *plevel); Bool DPMSSupported(void); #endif diff --git a/Xext/dpmsstubs.c b/Xext/dpmsstubs.c index ac1ee352a..bc85c16ca 100644 --- a/Xext/dpmsstubs.c +++ b/Xext/dpmsstubs.c @@ -26,10 +26,12 @@ dealings in this Software without prior written authorization from Digital Equipment Corporation. ******************************************************************/ -/* $XFree86: xc/programs/Xserver/Xext/dpmsstubs.c,v 3.4 2001/01/17 22:13:15 dawes Exp $ */ +/* $XFree86: xc/programs/Xserver/Xext/dpmsstubs.c,v 3.5 2003/07/16 01:38:29 dawes Exp $ */ typedef int Bool; +#include "dpmsproc.h" + #define FALSE 0 Bool DPMSSupported(void) @@ -37,7 +39,7 @@ Bool DPMSSupported(void) return FALSE; } -int DPSMGet(int *level) +int DPMSGet(int *plevel) { return -1; } diff --git a/Xext/fontcache.c b/Xext/fontcache.c index cad7dcfba..7c3f5a800 100644 --- a/Xext/fontcache.c +++ b/Xext/fontcache.c @@ -27,7 +27,7 @@ * * Id: fontcache.c,v 1.12 1999/01/31 13:47:45 akiyama Exp $ */ -/* $XFree86: xc/programs/Xserver/Xext/fontcache.c,v 1.5 2000/02/23 20:29:39 dawes Exp $ */ +/* $XFree86: xc/programs/Xserver/Xext/fontcache.c,v 1.8 2003/11/17 22:20:26 dawes Exp $ */ /* THIS IS NOT AN X CONSORTIUM STANDARD */ @@ -47,13 +47,12 @@ #include "Xfuncproto.h" #include "swaprep.h" +#include "modinit.h" static int miscErrorBase; static void FontCacheResetProc( -#if NeedFunctionPrototypes ExtensionEntry* /* extEntry */ -#endif ); static DISPATCH_PROC(ProcFontCacheDispatch); @@ -67,11 +66,12 @@ static DISPATCH_PROC(SProcFontCacheGetCacheStatistics); static DISPATCH_PROC(SProcFontCacheQueryVersion); static DISPATCH_PROC(SProcFontCacheChangeCacheSettings); +#if 0 static unsigned char FontCacheReqCode = 0; - +#endif void -FontCacheExtensionInit() +FontCacheExtensionInit(INITARGS) { ExtensionEntry* extEntry; @@ -83,7 +83,9 @@ FontCacheExtensionInit() SProcFontCacheDispatch, FontCacheResetProc, StandardMinorOpcode))) { +#if 0 FontCacheReqCode = (unsigned char)extEntry->base; +#endif miscErrorBase = extEntry->errorBase; } } diff --git a/Xext/mbuf.c b/Xext/mbuf.c index 16a59e58e..4308037be 100644 --- a/Xext/mbuf.c +++ b/Xext/mbuf.c @@ -1,4 +1,4 @@ -/* $XFree86: xc/programs/Xserver/Xext/mbuf.c,v 3.14 2001/12/14 19:58:49 dawes Exp $ */ +/* $XFree86: xc/programs/Xserver/Xext/mbuf.c,v 3.16 2003/11/17 22:20:26 dawes Exp $ */ /************************************************************ Copyright 1989, 1998 The Open Group @@ -61,50 +61,40 @@ in this Software without prior written authorization from The Open Group. #define ValidEventMasks (ExposureMask|MultibufferClobberNotifyMask|MultibufferUpdateNotifyMask) +#if 0 static unsigned char MultibufferReqCode; +#endif static int MultibufferEventBase; static int MultibufferErrorBase; int MultibufferScreenIndex = -1; int MultibufferWindowIndex = -1; static void PerformDisplayRequest ( -#if NeedFunctionPrototypes MultibuffersPtr * /* ppMultibuffers */, MultibufferPtr * /* pMultibuffer */, int /* nbuf */ -#endif ); static Bool QueueDisplayRequest ( -#if NeedFunctionPrototypes ClientPtr /* client */, TimeStamp /* activateTime */ -#endif ); static void BumpTimeStamp ( -#if NeedFunctionPrototypes TimeStamp * /* ts */, CARD32 /* inc */ -#endif ); static void AliasMultibuffer ( -#if NeedFunctionPrototypes MultibuffersPtr /* pMultibuffers */, int /* i */ -#endif ); static void RecalculateMultibufferOtherEvents ( -#if NeedFunctionPrototypes MultibufferPtr /* pMultibuffer */ -#endif ); static int EventSelectForMultibuffer( -#if NeedFunctionPrototypes MultibufferPtr /* pMultibuffer */, ClientPtr /* client */, Mask /* mask */ -#endif ); /* @@ -113,10 +103,8 @@ static int EventSelectForMultibuffer( */ RESTYPE MultibufferDrawableResType; static int MultibufferDrawableDelete ( -#if NeedFunctionPrototypes pointer /* value */, XID /* id */ -#endif ); /* * The per-buffer data can be found as a resource with this type. @@ -125,10 +113,8 @@ static int MultibufferDrawableDelete ( */ static RESTYPE MultibufferResType; static int MultibufferDelete ( -#if NeedFunctionPrototypes pointer /* value */, XID /* id */ -#endif ); /* @@ -137,10 +123,8 @@ static int MultibufferDelete ( */ static RESTYPE MultibuffersResType; static int MultibuffersDelete ( -#if NeedFunctionPrototypes pointer /* value */, XID /* id */ -#endif ); /* @@ -149,10 +133,8 @@ static int MultibuffersDelete ( */ static RESTYPE OtherClientResType; static int OtherClientDelete ( -#if NeedFunctionPrototypes pointer /* value */, XID /* id */ -#endif ); /**************** @@ -187,44 +169,32 @@ static DISPATCH_PROC(SProcSetBufferAttributes); static DISPATCH_PROC(SProcSetMBufferAttributes); static void MultibufferResetProc( -#if NeedFunctionPrototypes ExtensionEntry * /* extEntry */ -#endif ); static void SClobberNotifyEvent( -#if NeedFunctionPrototypes xMbufClobberNotifyEvent * /* from */, xMbufClobberNotifyEvent * /* to */ -# endif ); static void SUpdateNotifyEvent( -#if NeedFunctionPrototypes xMbufUpdateNotifyEvent * /* from */, xMbufUpdateNotifyEvent * /* to */ -#endif ); static Bool MultibufferPositionWindow( -#if NeedFunctionPrototypes WindowPtr /* pWin */, int /* x */, int /* y */ -#endif ); static void SetupBackgroundPainter ( -#if NeedFunctionPrototypes WindowPtr /* pWin */, GCPtr /* pGC */ -#endif ); static int DeliverEventsToMultibuffer ( -#if NeedFunctionPrototypes MultibufferPtr /* pMultibuffer */, xEvent * /* pEvents */, int /* count */, Mask /* filter */ -#endif ); void @@ -279,7 +249,9 @@ MultibufferExtensionInit() ProcMultibufferDispatch, SProcMultibufferDispatch, MultibufferResetProc, StandardMinorOpcode))) { +#if 0 MultibufferReqCode = (unsigned char)extEntry->base; +#endif MultibufferEventBase = extEntry->eventBase; MultibufferErrorBase = extEntry->errorBase; EventSwapVector[MultibufferEventBase + MultibufferClobberNotify] = (EventSwapPtr) SClobberNotifyEvent; diff --git a/Xext/mbufbf.c b/Xext/mbufbf.c index 925745712..99400c90a 100644 --- a/Xext/mbufbf.c +++ b/Xext/mbufbf.c @@ -1,4 +1,4 @@ -/* $XFree86: xc/programs/Xserver/Xext/mbufbf.c,v 3.4 2001/12/14 19:58:49 dawes Exp $ */ +/* $XFree86: xc/programs/Xserver/Xext/mbufbf.c,v 3.6 2003/11/10 18:21:42 tsi Exp $ */ /* Copyright 1989, 1998 The Open Group @@ -243,7 +243,7 @@ bufMultibufferInit(pScreen, pMBScreen) pMBPriv->rgnChanged = TRUE; REGION_INIT(pScreen, &pMBPriv->backBuffer, &box, 1); REGION_INIT(pScreen, &pMBPriv->subtractRgn, &box, 1); - REGION_INIT(pScreen, &pMBPriv->unionRgn, NullBox, 0); + REGION_NULL(pScreen, &pMBPriv->unionRgn); /* Misc functions */ pMBPriv->CopyBufferBits = bufCopyBufferBitsFunc[pScreen->myNum]; @@ -778,7 +778,7 @@ bufPostValidateTree(pParent, pChild, kind) pUnionRgn); /* Paint gained and lost backbuffer areas in select plane */ - REGION_INIT(pScreen, &exposed, NullBox, 0); + REGION_NULL(pScreen, &exposed); REGION_SUBTRACT(pScreen, &exposed, pSubtractRgn, pUnionRgn); (* pMBPriv->DrawSelectPlane)(pScreen, pMBPriv->selectPlane, &exposed, FRONT_BUFFER); @@ -793,33 +793,6 @@ bufPostValidateTree(pParent, pChild, kind) } } -/* XXX - Knows region internals. */ - -static Bool -RegionsEqual(reg1, reg2) - RegionPtr reg1; - RegionPtr reg2; -{ - int i; - BoxPtr rects1, rects2; - - if (reg1->extents.x1 != reg2->extents.x1) return FALSE; - if (reg1->extents.x2 != reg2->extents.x2) return FALSE; - if (reg1->extents.y1 != reg2->extents.y1) return FALSE; - if (reg1->extents.y2 != reg2->extents.y2) return FALSE; - if (REGION_NUM_RECTS(reg1) != REGION_NUM_RECTS(reg2)) return FALSE; - - rects1 = REGION_RECTS(reg1); - rects2 = REGION_RECTS(reg2); - for (i = 0; i != REGION_NUM_RECTS(reg1); i++) { - if (rects1[i].x1 != rects2[i].x1) return FALSE; - if (rects1[i].x2 != rects2[i].x2) return FALSE; - if (rects1[i].y1 != rects2[i].y1) return FALSE; - if (rects1[i].y2 != rects2[i].y2) return FALSE; - } - return TRUE; -} - /* * If the window is multibuffered and displaying the backbuffer, * add the old clipList to the subtractRgn and add the new clipList @@ -849,7 +822,7 @@ bufClipNotify(pWin, dx,dy) { RegionPtr pOldClipList = (RegionPtr) pMBWindow->devPrivate.ptr; - if (! RegionsEqual(pOldClipList, &pWin->clipList)) + if (! REGION_EQUAL(pScreen, pOldClipList, &pWin->clipList)) { if (pMBWindow->displayedMultibuffer == BACK_BUFFER) { @@ -940,8 +913,8 @@ bufWindowExposures(pWin, prgn, other_exposed) /* miWindowExposures munges prgn and other_exposed. */ if (handleBuffers) { - REGION_INIT(pScreen, &tmp_rgn, NullBox, 0); - REGION_COPY(pScreen, &tmp_rgn,prgn); + REGION_NULL(pScreen, &tmp_rgn); + REGION_COPY(pScreen, &tmp_rgn, prgn); } UNWRAP_SCREEN_FUNC(pScreen, pMBPriv, void, WindowExposures); diff --git a/Xext/mitmisc.c b/Xext/mitmisc.c index b6038edba..b911d7ff5 100644 --- a/Xext/mitmisc.c +++ b/Xext/mitmisc.c @@ -1,4 +1,4 @@ -/* $XFree86: xc/programs/Xserver/Xext/mitmisc.c,v 3.4 2001/12/14 19:58:49 dawes Exp $ */ +/* $XFree86: xc/programs/Xserver/Xext/mitmisc.c,v 3.7 2003/11/17 22:20:26 dawes Exp $ */ /************************************************************ Copyright 1989, 1998 The Open Group @@ -38,15 +38,16 @@ in this Software without prior written authorization from The Open Group. #include "extnsionst.h" #define _MITMISC_SERVER_ #include "mitmiscstr.h" +#include "modinit.h" extern Bool permitOldBugs; +#if 0 static unsigned char MITReqCode; +#endif static void MITResetProc( -#if NeedFunctionPrototypes ExtensionEntry * /* extEntry */ -#endif ); static DISPATCH_PROC(ProcMITDispatch); @@ -57,14 +58,20 @@ static DISPATCH_PROC(SProcMITGetBugMode); static DISPATCH_PROC(SProcMITSetBugMode); void -MITMiscExtensionInit() +MITMiscExtensionInit(INITARGS) { +#if 0 ExtensionEntry *extEntry; if ((extEntry = AddExtension(MITMISCNAME, 0, 0, ProcMITDispatch, SProcMITDispatch, MITResetProc, StandardMinorOpcode)) != 0) MITReqCode = (unsigned char)extEntry->base; +#else + (void) AddExtension(MITMISCNAME, 0, 0, + ProcMITDispatch, SProcMITDispatch, + MITResetProc, StandardMinorOpcode); +#endif } /*ARGSUSED*/ diff --git a/Xext/panoramiX.c b/Xext/panoramiX.c index fb0b9c541..89a8a2d2e 100644 --- a/Xext/panoramiX.c +++ b/Xext/panoramiX.c @@ -23,7 +23,7 @@ shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from Digital Equipment Corporation. ******************************************************************/ -/* $XFree86: xc/programs/Xserver/Xext/panoramiX.c,v 3.32 2002/08/01 00:30:34 mvojkovi Exp $ */ +/* $XFree86: xc/programs/Xserver/Xext/panoramiX.c,v 3.38 2003/11/10 18:21:43 tsi Exp $ */ #define NEED_REPLIES #include <stdio.h> @@ -50,9 +50,12 @@ Equipment Corporation. #ifdef RENDER #include "picturestr.h" #endif +#include "modinit.h" +#if 0 static unsigned char PanoramiXReqCode = 0; +#endif /* * PanoramiX data declarations */ @@ -62,14 +65,13 @@ int PanoramiXPixHeight = 0; int PanoramiXNumScreens = 0; PanoramiXData *panoramiXdataPtr = NULL; +RegionRec PanoramiXScreenRegion = {{0, 0, 0, 0}, NULL}; +static int PanoramiXNumDepths; +static DepthPtr PanoramiXDepths; +static int PanoramiXNumVisuals; +static VisualPtr PanoramiXVisuals; -RegionRec PanoramiXScreenRegion; - -int PanoramiXNumDepths; -DepthPtr PanoramiXDepths; -int PanoramiXNumVisuals; -VisualPtr PanoramiXVisuals; /* We support at most 256 visuals */ XID *PanoramiXVisualTable = NULL; @@ -79,57 +81,23 @@ unsigned long XRT_PIXMAP; unsigned long XRT_GC; unsigned long XRT_COLORMAP; - -int (* SavedProcVector[256]) (); -ScreenInfo *GlobalScrInfo; - -static int panoramiXGeneration; -static int ProcPanoramiXDispatch(); /* * Function prototypes */ +static int panoramiXGeneration; +static int ProcPanoramiXDispatch(ClientPtr client); + static void PanoramiXResetProc(ExtensionEntry*); /* - * External references for data variables + * External references for functions and data variables */ -extern int SProcPanoramiXDispatch(); -extern char *ConnectionInfo; -extern int connBlockScreenStart; -extern xConnSetupPrefix connSetupPrefix; - -/* - * Server dispatcher function replacements - */ +#include "panoramiXh.h" -int PanoramiXCreateWindow(), PanoramiXChangeWindowAttributes(); -int PanoramiXDestroyWindow(), PanoramiXDestroySubwindows(); -int PanoramiXChangeSaveSet(), PanoramiXReparentWindow(); -int PanoramiXMapWindow(), PanoramiXMapSubwindows(); -int PanoramiXUnmapWindow(), PanoramiXUnmapSubwindows(); -int PanoramiXConfigureWindow(), PanoramiXCirculateWindow(); -int PanoramiXGetGeometry(), PanoramiXTranslateCoords(); -int PanoramiXCreatePixmap(), PanoramiXFreePixmap(); -int PanoramiXCreateGC(), PanoramiXChangeGC(); -int PanoramiXCopyGC(), PanoramiXCopyColormapAndFree(); -int PanoramiXSetDashes(), PanoramiXSetClipRectangles(); -int PanoramiXFreeGC(), PanoramiXClearToBackground(); -int PanoramiXCopyArea(), PanoramiXCopyPlane(); -int PanoramiXPolyPoint(), PanoramiXPolyLine(); -int PanoramiXPolySegment(), PanoramiXPolyRectangle(); -int PanoramiXPolyArc(), PanoramiXFillPoly(); -int PanoramiXPolyFillArc(), PanoramiXPolyFillRectangle(); -int PanoramiXPutImage(), PanoramiXGetImage(); -int PanoramiXPolyText8(), PanoramiXPolyText16(); -int PanoramiXImageText8(), PanoramiXImageText16(); -int PanoramiXCreateColormap(), PanoramiXFreeColormap(); -int PanoramiXInstallColormap(), PanoramiXUninstallColormap(); -int PanoramiXAllocColor(), PanoramiXAllocNamedColor(); -int PanoramiXAllocColorCells(), PanoramiXStoreNamedColor(); -int PanoramiXFreeColors(), PanoramiXStoreColors(); -int PanoramiXAllocColorPlanes(); +int (* SavedProcVector[256]) (ClientPtr client) = { NULL, }; +ScreenInfo *GlobalScrInfo = NULL; static int PanoramiXGCIndex = -1; static int PanoramiXScreenIndex = -1; @@ -460,7 +428,7 @@ void PanoramiXExtensionInit(int argc, char *argv[]) int i; Bool success = FALSE; ExtensionEntry *extEntry; - ScreenPtr pScreen; + ScreenPtr pScreen = screenInfo.screens[0]; PanoramiXScreenPtr pScreenPriv; int w, h; @@ -483,7 +451,10 @@ void PanoramiXExtensionInit(int argc, char *argv[]) ErrorF("PanoramiXExtensionInit(): failed to AddExtension\n"); break; } + +#if 0 PanoramiXReqCode = (unsigned char)extEntry->base; +#endif /* * First make sure all the basic allocations succeed. If not, @@ -539,14 +510,16 @@ void PanoramiXExtensionInit(int argc, char *argv[]) } - REGION_INIT(pScreen, &PanoramiXScreenRegion, NullBox, 1); + REGION_NULL(pScreen, &PanoramiXScreenRegion); for (i = 0; i < PanoramiXNumScreens; i++) { BoxRec TheBox; + pScreen = screenInfo.screens[i]; + panoramiXdataPtr[i].x = dixScreenOrigins[i].x; panoramiXdataPtr[i].y = dixScreenOrigins[i].y; - panoramiXdataPtr[i].width = (screenInfo.screens[i])->width; - panoramiXdataPtr[i].height = (screenInfo.screens[i])->height; + panoramiXdataPtr[i].width = pScreen->width; + panoramiXdataPtr[i].height = pScreen->height; TheBox.x1 = panoramiXdataPtr[i].x; TheBox.x2 = TheBox.x1 + panoramiXdataPtr[i].width; @@ -646,7 +619,6 @@ Bool PanoramiXCreateConnectionBlock(void) int old_width, old_height; float width_mult, height_mult; xWindowRoot *root; - xConnSetup *setup; xVisualType *visual; xDepth *depth; VisualPtr pVisual; @@ -692,7 +664,6 @@ Bool PanoramiXCreateConnectionBlock(void) screenInfo.numScreens = i; - setup = (xConnSetup *) ConnectionInfo; root = (xWindowRoot *) (ConnectionInfo + connBlockScreenStart); length = connBlockScreenStart + sizeof(xWindowRoot); @@ -764,19 +735,54 @@ void PanoramiXConsolidate(void) int i, j, k; VisualPtr pVisual, pVisual2; ScreenPtr pScreen, pScreen2; - PanoramiXRes *root, *defmap; + DepthPtr pDepth, pDepth2; + PanoramiXRes *root, *defmap, *saver; + Bool foundDepth, missingDepth; if(!PanoramiXVisualTable) PanoramiXVisualTable = xcalloc(256 * MAXSCREENS, sizeof(XID)); pScreen = screenInfo.screens[0]; pVisual = pScreen->visuals; + pDepth = pScreen->allowedDepths; PanoramiXNumDepths = 0; PanoramiXDepths = xcalloc(pScreen->numDepths,sizeof(DepthRec)); PanoramiXNumVisuals = 0; PanoramiXVisuals = xcalloc(pScreen->numVisuals,sizeof(VisualRec)); + for (i = 0; i < pScreen->numDepths; i++, pDepth++) { + missingDepth = FALSE; + for (j = 1; j < PanoramiXNumScreens; j++) { + pScreen2 = screenInfo.screens[j]; + pDepth2 = pScreen2->allowedDepths; + + foundDepth = FALSE; + for (k = 0; k < pScreen2->numDepths; k++, pDepth2++) { + if(pDepth2->depth == pDepth->depth) { + foundDepth = TRUE; + break; + } + } + + if(!foundDepth) { + missingDepth = TRUE; + break; + } + } + + if(!missingDepth) { + PanoramiXDepths[PanoramiXNumDepths].depth = pDepth->depth; + PanoramiXDepths[PanoramiXNumDepths].numVids = 0; + if(pDepth->numVids) + PanoramiXDepths[PanoramiXNumDepths].vids = + xalloc(sizeof(VisualID) * pDepth->numVids); + else + PanoramiXDepths[PanoramiXNumDepths].vids = NULL; + PanoramiXNumDepths++; + } + } + for (i = 0; i < pScreen->numVisuals; i++, pVisual++) { PanoramiXVisualTable[pVisual->vid * MAXSCREENS] = pVisual->vid; @@ -796,23 +802,12 @@ void PanoramiXConsolidate(void) (pVisual->offsetGreen == pVisual2->offsetGreen) && (pVisual->offsetBlue == pVisual2->offsetBlue)) { - Bool AlreadyUsed = FALSE; -#if 0 -/* Open GL should do this reduction, not us */ - for (l = 0; l < 256; l++) { - if (pVisual2->vid == - PanoramiXVisualTable[(l * MAXSCREENS) + j]) - { - AlreadyUsed = TRUE; - break; - } - } -#endif - if (!AlreadyUsed) { + /* We merely assign the first visual that matches. OpenGL + will need to get involved at some point if you want + match GLX visuals */ PanoramiXVisualTable[(pVisual->vid * MAXSCREENS) + j] = pVisual2->vid; break; - } } } } @@ -827,8 +822,6 @@ void PanoramiXConsolidate(void) /* if it does, make sure it's in the list of supported depths and visuals */ if(PanoramiXVisualTable[pVisual->vid * MAXSCREENS]) { - Bool GotIt = FALSE; - PanoramiXVisuals[PanoramiXNumVisuals].vid = pVisual->vid; PanoramiXVisuals[PanoramiXNumVisuals].class = pVisual->class; PanoramiXVisuals[PanoramiXNumVisuals].bitsPerRGBValue = pVisual->bitsPerRGBValue; @@ -846,18 +839,9 @@ void PanoramiXConsolidate(void) if (PanoramiXDepths[j].depth == pVisual->nplanes) { PanoramiXDepths[j].vids[PanoramiXDepths[j].numVids] = pVisual->vid; PanoramiXDepths[j].numVids++; - GotIt = TRUE; break; } } - - if (!GotIt) { - PanoramiXDepths[PanoramiXNumDepths].depth = pVisual->nplanes; - PanoramiXDepths[PanoramiXNumDepths].numVids = 1; - PanoramiXDepths[PanoramiXNumDepths].vids = xalloc(sizeof(VisualID) * 256); - PanoramiXDepths[PanoramiXNumDepths].vids[0] = pVisual->vid; - PanoramiXNumDepths++; - } } } @@ -866,14 +850,22 @@ void PanoramiXConsolidate(void) root->type = XRT_WINDOW; defmap = (PanoramiXRes *) xalloc(sizeof(PanoramiXRes)); defmap->type = XRT_COLORMAP; + saver = (PanoramiXRes *) xalloc(sizeof(PanoramiXRes)); + saver->type = XRT_WINDOW; + for (i = 0; i < PanoramiXNumScreens; i++) { root->info[i].id = WindowTable[i]->drawable.id; root->u.win.class = InputOutput; + root->u.win.root = TRUE; + saver->info[i].id = savedScreenInfo[i].wid; + saver->u.win.class = InputOutput; + saver->u.win.root = TRUE; defmap->info[i].id = (screenInfo.screens[i])->defColormap; } AddResource(root->info[0].id, XRT_WINDOW, root); + AddResource(saver->info[0].id, XRT_WINDOW, saver); AddResource(defmap->info[0].id, XRT_COLORMAP, defmap); } @@ -1134,6 +1126,7 @@ XineramaGetImageData( BoxRec SrcBox, *pbox; int x, y, w, h, i, j, nbox, size, sizeNeeded, ScratchPitch, inOut, depth; DrawablePtr pDraw = pDrawables[0]; + ScreenPtr pScreen = pDraw->pScreen; char *ScratchMem = NULL; size = 0; @@ -1149,7 +1142,7 @@ XineramaGetImageData( SrcBox.y2 = SrcBox.y1 + height; REGION_INIT(pScreen, &SrcRegion, &SrcBox, 1); - REGION_INIT(pScreen, &GrabRegion, NullBox, 1); + REGION_NULL(pScreen, &GrabRegion); depth = (format == XYPixmap) ? 1 : pDraw->depth; diff --git a/Xext/panoramiX.h b/Xext/panoramiX.h index 670a45364..d01b0b854 100644 --- a/Xext/panoramiX.h +++ b/Xext/panoramiX.h @@ -19,7 +19,7 @@ * or in FAR 52.227-19, as applicable. * * * *****************************************************************/ -/* $XFree86: xc/programs/Xserver/Xext/panoramiX.h,v 1.5 2001/01/03 02:54:17 keithp Exp $ */ +/* $XFree86: xc/programs/Xserver/Xext/panoramiX.h,v 1.6 2003/03/23 04:56:02 mvojkovi Exp $ */ /* THIS IS NOT AN X PROJECT TEAM SPECIFICATION */ @@ -52,6 +52,7 @@ typedef struct { struct { char visibility; char class; + char root; } win; struct { Bool shared; diff --git a/Xext/panoramiXSwap.c b/Xext/panoramiXSwap.c index e78624187..e3ea803e6 100644 --- a/Xext/panoramiXSwap.c +++ b/Xext/panoramiXSwap.c @@ -23,7 +23,7 @@ shall not be used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from Digital Equipment Corporation. ******************************************************************/ -/* $XFree86: xc/programs/Xserver/Xext/panoramiXSwap.c,v 3.8 2001/08/23 13:01:36 alanh Exp $ */ +/* $XFree86: xc/programs/Xserver/Xext/panoramiXSwap.c,v 3.10 2003/09/13 21:33:03 dawes Exp $ */ #include <stdio.h> #include "X.h" @@ -47,28 +47,7 @@ Equipment Corporation. #include "panoramiXproto.h" #include "panoramiXsrv.h" #include "globals.h" - - -/* - * External references for data variables - */ - -extern char *ConnectionInfo; -extern int connBlockScreenStart; - -#if NeedFunctionPrototypes -#define PROC_EXTERN(pfunc) extern int pfunc(ClientPtr) -#else -#define PROC_EXTERN(pfunc) extern int pfunc() -#endif - -PROC_EXTERN(ProcPanoramiXQueryVersion); -PROC_EXTERN(ProcPanoramiXGetState); -PROC_EXTERN(ProcPanoramiXGetScreenCount); -PROC_EXTERN(ProcPanoramiXGetScreenSize); - -PROC_EXTERN(ProcXineramaIsActive); -PROC_EXTERN(ProcXineramaQueryScreens); +#include "panoramiXh.h" static int SProcPanoramiXQueryVersion (ClientPtr client) diff --git a/Xext/panoramiXprocs.c b/Xext/panoramiXprocs.c index 37b54f4bc..73a441a88 100644 --- a/Xext/panoramiXprocs.c +++ b/Xext/panoramiXprocs.c @@ -26,7 +26,7 @@ Equipment Corporation. /* Massively rewritten by Mark Vojkovich <markv@valinux.com> */ -/* $XFree86: xc/programs/Xserver/Xext/panoramiXprocs.c,v 3.33 2002/04/10 21:38:53 mvojkovi Exp $ */ +/* $XFree86: xc/programs/Xserver/Xext/panoramiXprocs.c,v 3.37 2003/11/10 18:21:43 tsi Exp $ */ #include <stdio.h> #include "X.h" @@ -46,20 +46,21 @@ Equipment Corporation. #include "panoramiX.h" #include "panoramiXsrv.h" #include "resource.h" +#include "panoramiXh.h" #define XINERAMA_IMAGE_BUFSIZE (256*1024) #define INPUTONLY_LEGAL_MASK (CWWinGravity | CWEventMask | \ CWDontPropagate | CWOverrideRedirect | CWCursor ) -extern ScreenInfo *GlobalScrInfo; -extern char *ConnectionInfo; -extern int connBlockScreenStart; +#if 0 +extern void (* EventSwapVector[128]) (fsError *, fsError *); -extern int (* SavedProcVector[256]) (); -extern void (* EventSwapVector[128]) (); -extern void Swap32Write(), SLHostsExtend(), SQColorsExtend(), +extern void Swap32Write(); +extern void SLHostsExtend(); +extern void SQColorsExtend(); WriteSConnectionInfo(); extern void WriteSConnSetupPrefix(); +#endif /* Various of the DIX function interfaces were not designed to allow * the client->errorValue to be set on BadValue and other errors. @@ -131,6 +132,7 @@ int PanoramiXCreateWindow(ClientPtr client) newWin->type = XRT_WINDOW; newWin->u.win.visibility = VisibilityNotViewable; newWin->u.win.class = stuff->class; + newWin->u.win.root = FALSE; newWin->info[0].id = stuff->wid; for(j = 1; j < PanoramiXNumScreens; j++) newWin->info[j].id = FakeClientID(client->index); @@ -140,7 +142,8 @@ int PanoramiXCreateWindow(ClientPtr client) orig_visual = stuff->visual; orig_x = stuff->x; orig_y = stuff->y; - parentIsRoot = (stuff->parent == WindowTable[0]->drawable.id); + parentIsRoot = (stuff->parent == WindowTable[0]->drawable.id) || + (stuff->parent == savedScreenInfo[0].wid); FOR_NSCREENS_BACKWARD(j) { stuff->wid = newWin->info[j].id; stuff->parent = parent->info[j].id; @@ -329,7 +332,8 @@ int PanoramiXReparentWindow(ClientPtr client) x = stuff->x; y = stuff->y; - parentIsRoot = (stuff->parent == WindowTable[0]->drawable.id); + parentIsRoot = (stuff->parent == WindowTable[0]->drawable.id) || + (stuff->parent == savedScreenInfo[0].wid); FOR_NSCREENS_BACKWARD(j) { stuff->window = win->info[j].id; stuff->parent = parent->info[j].id; @@ -468,7 +472,9 @@ int PanoramiXConfigureWindow(ClientPtr client) } } - if(pWin->parent && (pWin->parent == WindowTable[0])) { + if(pWin->parent && ((pWin->parent == WindowTable[0]) || + (pWin->parent->drawable.id == savedScreenInfo[0].wid))) + { if ((Mask)stuff->mask & CWX) { x_offset = 0; x = *((CARD32 *)&stuff[1]); @@ -548,7 +554,9 @@ int PanoramiXGetGeometry(ClientPtr client) WindowPtr pWin = (WindowPtr)pDraw; rep.x = pWin->origin.x - wBorderWidth (pWin); rep.y = pWin->origin.y - wBorderWidth (pWin); - if(pWin->parent == WindowTable[0]) { + if((pWin->parent == WindowTable[0]) || + (pWin->parent->drawable.id == savedScreenInfo[0].wid)) + { rep.x += panoramiXdataPtr[0].x; rep.y += panoramiXdataPtr[0].y; } @@ -582,7 +590,9 @@ int PanoramiXTranslateCoords(ClientPtr client) rep.sameScreen = xTrue; rep.child = None; - if(pWin == WindowTable[0]) { + if((pWin == WindowTable[0]) || + (pWin->drawable.id == savedScreenInfo[0].wid)) + { x = stuff->srcX - panoramiXdataPtr[0].x; y = stuff->srcY - panoramiXdataPtr[0].y; } else { @@ -622,7 +632,9 @@ int PanoramiXTranslateCoords(ClientPtr client) } rep.dstX = x - pDst->drawable.x; rep.dstY = y - pDst->drawable.y; - if(pDst == WindowTable[0]) { + if((pDst == WindowTable[0]) || + (pDst->drawable.id == savedScreenInfo[0].wid)) + { rep.dstX += panoramiXdataPtr[0].x; rep.dstY += panoramiXdataPtr[0].y; } @@ -947,7 +959,7 @@ int PanoramiXClearToBackground(ClientPtr client) x = stuff->x; y = stuff->y; - isRoot = (stuff->window == WindowTable[0]->drawable.id); + isRoot = win->u.win.root; FOR_NSCREENS_BACKWARD(j) { stuff->window = win->info[j].id; if(isRoot) { @@ -1002,11 +1014,9 @@ int PanoramiXCopyArea(ClientPtr client) client, stuff->gc, XRT_GC, SecurityReadAccess))) return BadGC; - if((dst->type == XRT_WINDOW) && - (stuff->dstDrawable == WindowTable[0]->drawable.id)) + if((dst->type == XRT_WINDOW) && dst->u.win.root) dstIsRoot = TRUE; - if((src->type == XRT_WINDOW) && - (stuff->srcDrawable == WindowTable[0]->drawable.id)) + if((src->type == XRT_WINDOW) && src->u.win.root) srcIsRoot = TRUE; srcx = stuff->srcX; srcy = stuff->srcY; @@ -1095,7 +1105,7 @@ int PanoramiXCopyArea(ClientPtr client) RegionRec totalReg; Bool overlap; - REGION_INIT(pScreen, &totalReg, NullBox, 1); + REGION_NULL(pScreen, &totalReg); FOR_NSCREENS_BACKWARD(j) { if(pRgn[j]) { if(srcIsRoot) { @@ -1152,11 +1162,9 @@ int PanoramiXCopyPlane(ClientPtr client) client, stuff->gc, XRT_GC, SecurityReadAccess))) return BadGC; - if((dst->type == XRT_WINDOW) && - (stuff->dstDrawable == WindowTable[0]->drawable.id)) + if((dst->type == XRT_WINDOW) && dst->u.win.root) dstIsRoot = TRUE; - if((src->type == XRT_WINDOW) && - (stuff->srcDrawable == WindowTable[0]->drawable.id)) + if((src->type == XRT_WINDOW) && src->u.win.root) srcIsRoot = TRUE; srcx = stuff->srcX; srcy = stuff->srcY; @@ -1208,7 +1216,7 @@ int PanoramiXCopyPlane(ClientPtr client) RegionRec totalReg; Bool overlap; - REGION_INIT(pScreen, &totalReg, NullBox, 1); + REGION_NULL(pScreen, &totalReg); FOR_NSCREENS_BACKWARD(j) { if(pRgn[j]) { REGION_APPEND(pScreen, &totalReg, pRgn[j]); @@ -1246,8 +1254,7 @@ int PanoramiXPolyPoint(ClientPtr client) client, stuff->gc, XRT_GC, SecurityReadAccess))) return BadGC; - isRoot = (draw->type == XRT_WINDOW) && - (stuff->drawable == WindowTable[0]->drawable.id); + isRoot = (draw->type == XRT_WINDOW) && draw->u.win.root; npoint = ((client->req_len << 2) - sizeof(xPolyPointReq)) >> 2; if (npoint > 0) { origPts = (xPoint *) ALLOCATE_LOCAL(npoint * sizeof(xPoint)); @@ -1305,8 +1312,7 @@ int PanoramiXPolyLine(ClientPtr client) client, stuff->gc, XRT_GC, SecurityReadAccess))) return BadGC; - isRoot = (draw->type == XRT_WINDOW) && - (stuff->drawable == WindowTable[0]->drawable.id); + isRoot = (draw->type == XRT_WINDOW) && draw->u.win.root; npoint = ((client->req_len << 2) - sizeof(xPolyLineReq)) >> 2; if (npoint > 0){ origPts = (xPoint *) ALLOCATE_LOCAL(npoint * sizeof(xPoint)); @@ -1364,8 +1370,7 @@ int PanoramiXPolySegment(ClientPtr client) client, stuff->gc, XRT_GC, SecurityReadAccess))) return BadGC; - isRoot = (draw->type == XRT_WINDOW) && - (stuff->drawable == WindowTable[0]->drawable.id); + isRoot = (draw->type == XRT_WINDOW) && draw->u.win.root; nsegs = (client->req_len << 2) - sizeof(xPolySegmentReq); if(nsegs & 4) return BadLength; @@ -1427,8 +1432,7 @@ int PanoramiXPolyRectangle(ClientPtr client) client, stuff->gc, XRT_GC, SecurityReadAccess))) return BadGC; - isRoot = (draw->type == XRT_WINDOW) && - (stuff->drawable == WindowTable[0]->drawable.id); + isRoot = (draw->type == XRT_WINDOW) && draw->u.win.root; nrects = (client->req_len << 2) - sizeof(xPolyRectangleReq); if(nrects & 4) return BadLength; @@ -1488,8 +1492,7 @@ int PanoramiXPolyArc(ClientPtr client) client, stuff->gc, XRT_GC, SecurityReadAccess))) return BadGC; - isRoot = (draw->type == XRT_WINDOW) && - (stuff->drawable == WindowTable[0]->drawable.id); + isRoot = (draw->type == XRT_WINDOW) && draw->u.win.root; narcs = (client->req_len << 2) - sizeof(xPolyArcReq); if(narcs % sizeof(xArc)) return BadLength; @@ -1547,8 +1550,7 @@ int PanoramiXFillPoly(ClientPtr client) client, stuff->gc, XRT_GC, SecurityReadAccess))) return BadGC; - isRoot = (draw->type == XRT_WINDOW) && - (stuff->drawable == WindowTable[0]->drawable.id); + isRoot = (draw->type == XRT_WINDOW) && draw->u.win.root; count = ((client->req_len << 2) - sizeof(xFillPolyReq)) >> 2; if (count > 0){ @@ -1607,8 +1609,7 @@ int PanoramiXPolyFillRectangle(ClientPtr client) client, stuff->gc, XRT_GC, SecurityReadAccess))) return BadGC; - isRoot = (draw->type == XRT_WINDOW) && - (stuff->drawable == WindowTable[0]->drawable.id); + isRoot = (draw->type == XRT_WINDOW) && draw->u.win.root; things = (client->req_len << 2) - sizeof(xPolyFillRectangleReq); if(things & 4) return BadLength; @@ -1667,8 +1668,7 @@ int PanoramiXPolyFillArc(ClientPtr client) client, stuff->gc, XRT_GC, SecurityReadAccess))) return BadGC; - isRoot = (draw->type == XRT_WINDOW) && - (stuff->drawable == WindowTable[0]->drawable.id); + isRoot = (draw->type == XRT_WINDOW) && draw->u.win.root; narcs = (client->req_len << 2) - sizeof(xPolyFillArcReq); IF_RETURN((narcs % sizeof(xArc)), BadLength); @@ -1726,8 +1726,7 @@ int PanoramiXPutImage(ClientPtr client) client, stuff->gc, XRT_GC, SecurityReadAccess))) return BadGC; - isRoot = (draw->type == XRT_WINDOW) && - (stuff->drawable == WindowTable[0]->drawable.id); + isRoot = (draw->type == XRT_WINDOW) && draw->u.win.root; orig_x = stuff->dstX; orig_y = stuff->dstY; @@ -1786,8 +1785,7 @@ int PanoramiXGetImage(ClientPtr client) format = stuff->format; planemask = stuff->planeMask; - isRoot = (draw->type == XRT_WINDOW) && - (stuff->drawable == WindowTable[0]->drawable.id); + isRoot = (draw->type == XRT_WINDOW) && draw->u.win.root; if(isRoot) { if( /* check for being onscreen */ @@ -1919,8 +1917,7 @@ PanoramiXPolyText8(ClientPtr client) client, stuff->gc, XRT_GC, SecurityReadAccess))) return BadGC; - isRoot = (draw->type == XRT_WINDOW) && - (stuff->drawable == WindowTable[0]->drawable.id); + isRoot = (draw->type == XRT_WINDOW) && draw->u.win.root; orig_x = stuff->x; orig_y = stuff->y; @@ -1959,8 +1956,7 @@ PanoramiXPolyText16(ClientPtr client) client, stuff->gc, XRT_GC, SecurityReadAccess))) return BadGC; - isRoot = (draw->type == XRT_WINDOW) && - (stuff->drawable == WindowTable[0]->drawable.id); + isRoot = (draw->type == XRT_WINDOW) && draw->u.win.root; orig_x = stuff->x; orig_y = stuff->y; @@ -1999,8 +1995,7 @@ int PanoramiXImageText8(ClientPtr client) client, stuff->gc, XRT_GC, SecurityReadAccess))) return BadGC; - isRoot = (draw->type == XRT_WINDOW) && - (stuff->drawable == WindowTable[0]->drawable.id); + isRoot = (draw->type == XRT_WINDOW) && draw->u.win.root; orig_x = stuff->x; orig_y = stuff->y; @@ -2039,8 +2034,7 @@ int PanoramiXImageText16(ClientPtr client) client, stuff->gc, XRT_GC, SecurityReadAccess))) return BadGC; - isRoot = (draw->type == XRT_WINDOW) && - (stuff->drawable == WindowTable[0]->drawable.id); + isRoot = (draw->type == XRT_WINDOW) && draw->u.win.root; orig_x = stuff->x; orig_y = stuff->y; diff --git a/Xext/sampleEVI.c b/Xext/sampleEVI.c index 43265a73d..15ed9401c 100644 --- a/Xext/sampleEVI.c +++ b/Xext/sampleEVI.c @@ -21,6 +21,8 @@ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ********************************************************/ +/* $XFree86: xc/programs/Xserver/Xext/sampleEVI.c,v 3.5 2003/07/16 01:38:29 dawes Exp $ */ + #include "X.h" #include "Xproto.h" #include "dixstruct.h" @@ -76,6 +78,7 @@ static int sampleGetVisualInfo( *n_info_rn = sz_evi; return Success; } + static void sampleFreeVisualInfo( xExtendedVisualInfo *evi, VisualID32 *conflict) @@ -85,13 +88,15 @@ static void sampleFreeVisualInfo( if (conflict) xfree(conflict); } -EviPrivPtr eviDDXInit() + +EviPrivPtr eviDDXInit(void) { static EviPrivRec eviPriv; eviPriv.getVisualInfo = sampleGetVisualInfo; eviPriv.freeVisualInfo = sampleFreeVisualInfo; return &eviPriv; } -void eviDDXReset() + +void eviDDXReset(void) { } diff --git a/Xext/saver.c b/Xext/saver.c index 463622391..944009773 100644 --- a/Xext/saver.c +++ b/Xext/saver.c @@ -1,6 +1,5 @@ /* * $XConsortium: saver.c,v 1.12 94/04/17 20:59:36 dpw Exp $ - * $XFree86: xc/programs/Xserver/Xext/saver.c,v 3.4 2001/08/23 13:01:36 alanh Exp $ * Copyright (c) 1992 X Consortium @@ -28,6 +27,8 @@ in this Software without prior written authorization from the X Consortium. * Author: Keith Packard, MIT X Consortium */ +/* $XFree86: xc/programs/Xserver/Xext/saver.c,v 3.8 2003/11/17 22:20:26 dawes Exp $ */ + #define NEED_REPLIES #define NEED_EVENTS #include "X.h" @@ -45,6 +46,11 @@ in this Software without prior written authorization from the X Consortium. #include "gcstruct.h" #include "cursorstr.h" #include "colormapst.h" +#ifdef PANORAMIX +#include "panoramiX.h" +#include "panoramiXsrv.h" +#endif + #ifdef IN_MODULE #include <xf86_ansic.h> @@ -52,7 +58,11 @@ in this Software without prior written authorization from the X Consortium. #include <stdio.h> #endif +#include "modinit.h" + +#if 0 static unsigned char ScreenSaverReqCode = 0; +#endif static int ScreenSaverEventBase = 0; extern DISPATCH_PROC(ProcScreenSaverQueryInfo); @@ -69,52 +79,38 @@ static DISPATCH_PROC(SProcScreenSaverSetAttributes); static DISPATCH_PROC(SProcScreenSaverUnsetAttributes); static Bool ScreenSaverHandle ( -#if NeedFunctionPrototypes ScreenPtr /* pScreen */, int /* xstate */, Bool /* force */ -#endif ); static Bool CreateSaverWindow ( -#if NeedFunctionPrototypes ScreenPtr /* pScreen */ -#endif ); static Bool DestroySaverWindow ( -#if NeedFunctionPrototypes ScreenPtr /* pScreen */ -#endif ); static void UninstallSaverColormap ( -#if NeedFunctionPrototypes ScreenPtr /* pScreen */ -#endif ); static void CheckScreenPrivate ( -#if NeedFunctionPrototypes ScreenPtr /* pScreen */ -#endif ); static void SScreenSaverNotifyEvent ( -#if NeedFunctionPrototypes xScreenSaverNotifyEvent * /* from */, xScreenSaverNotifyEvent * /* to */ -#endif ); static void ScreenSaverResetProc ( -#if NeedFunctionPrototypes ExtensionEntry * /* extEntry */ -#endif ); /* @@ -138,25 +134,19 @@ typedef struct _ScreenSaverEvent { } ScreenSaverEventRec; static int ScreenSaverFreeEvents( -#if NeedFunctionPrototypes pointer /* value */, XID /* id */ -#endif ); static Bool setEventMask ( -#if NeedFunctionPrototypes ScreenPtr /* pScreen */, ClientPtr /* client */, unsigned long /* mask */ -#endif ); static unsigned long getEventMask ( -#if NeedFunctionPrototypes ScreenPtr /* pScreen */, ClientPtr /* client */ -#endif ); /* @@ -184,31 +174,23 @@ typedef struct _ScreenSaverAttr { } ScreenSaverAttrRec, *ScreenSaverAttrPtr; static int ScreenSaverFreeAttr ( -#if NeedFunctionPrototypes pointer /* value */, XID /* id */ -#endif ); static void FreeAttrs ( -#if NeedFunctionPrototypes ScreenSaverAttrPtr /* pAttr */ -#endif ); static void FreeScreenAttr ( -#if NeedFunctionPrototypes ScreenSaverAttrPtr /* pAttr */ -#endif ); static void SendScreenSaverNotify ( -#if NeedFunctionPrototypes ScreenPtr /* pScreen */, int /* state */, Bool /* forced */ -#endif ); typedef struct _ScreenSaverScreenPrivate { @@ -220,9 +202,7 @@ typedef struct _ScreenSaverScreenPrivate { static ScreenSaverScreenPrivatePtr MakeScreenPrivate ( -#if NeedFunctionPrototypes ScreenPtr /* pScreen */ -#endif ); static int ScreenPrivateIndex; @@ -242,7 +222,7 @@ static int ScreenPrivateIndex; ****************/ void -ScreenSaverExtensionInit() +ScreenSaverExtensionInit(INITARGS) { ExtensionEntry *extEntry; int i; @@ -261,7 +241,9 @@ ScreenSaverExtensionInit() ProcScreenSaverDispatch, SProcScreenSaverDispatch, ScreenSaverResetProc, StandardMinorOpcode))) { +#if 0 ScreenSaverReqCode = (unsigned char)extEntry->base; +#endif ScreenSaverEventBase = extEntry->eventBase; EventSwapVector[ScreenSaverEventBase] = (EventSwapPtr) SScreenSaverNotifyEvent; } @@ -460,7 +442,6 @@ SendScreenSaverNotify (pScreen, state, forced) xScreenSaverNotifyEvent ev; ClientPtr client; int kind; - ScreenSaverStuffPtr pSaver; UpdateCurrentTimeIf (); mask = ScreenSaverNotifyMask; @@ -470,7 +451,6 @@ SendScreenSaverNotify (pScreen, state, forced) pPriv = GetScreenPrivate(pScreen); if (!pPriv) return; - pSaver = &savedScreenInfo[pScreen->myNum]; if (pPriv->attr) kind = ScreenSaverExternal; else if (ScreenSaverBlanking != DontPreferBlanking) @@ -696,7 +676,10 @@ ScreenSaverHandle (pScreen, xstate, force) ret = TRUE; } - SendScreenSaverNotify (pScreen, state, force); +#ifdef PANORAMIX + if(noPanoramiXExtension || !pScreen->myNum) +#endif + SendScreenSaverNotify (pScreen, state, force); return ret; } @@ -810,8 +793,7 @@ ProcScreenSaverSelectInput (client) } static int -ProcScreenSaverSetAttributes (client) - register ClientPtr client; +ScreenSaverSetAttributes (ClientPtr client) { REQUEST(xScreenSaverSetAttributesReq); DrawablePtr pDraw; @@ -829,7 +811,6 @@ ProcScreenSaverSetAttributes (client) WindowOptPtr ancwopt; unsigned long *pVlist; unsigned long *values = 0; - int valuei; unsigned long tmask, imask; unsigned long val; Pixmap pixID; @@ -957,7 +938,6 @@ ProcScreenSaverSetAttributes (client) ret = BadAlloc; goto bail; } - valuei = 0; pAttr->screen = pScreen; pAttr->client = client; pAttr->x = stuff->x; @@ -1191,8 +1171,7 @@ bail: } static int -ProcScreenSaverUnsetAttributes (client) - register ClientPtr client; +ScreenSaverUnsetAttributes (ClientPtr client) { REQUEST(xScreenSaverSetAttributesReq); DrawablePtr pDraw; @@ -1212,6 +1191,110 @@ ProcScreenSaverUnsetAttributes (client) return Success; } +static int +ProcScreenSaverSetAttributes (ClientPtr client) +{ +#ifdef PANORAMIX + if(!noPanoramiXExtension) { + REQUEST(xScreenSaverSetAttributesReq); + PanoramiXRes *draw; + PanoramiXRes *backPix = NULL; + PanoramiXRes *bordPix = NULL; + PanoramiXRes *cmap = NULL; + int i, status = 0, len; + int pback_offset = 0, pbord_offset = 0, cmap_offset = 0; + XID orig_visual, tmp; + + REQUEST_AT_LEAST_SIZE (xScreenSaverSetAttributesReq); + + if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass( + client, stuff->drawable, XRC_DRAWABLE, SecurityWriteAccess))) + return BadDrawable; + + len = stuff->length - (sizeof(xScreenSaverSetAttributesReq) >> 2); + if (Ones(stuff->mask) != len) + return BadLength; + + if((Mask)stuff->mask & CWBackPixmap) { + pback_offset = Ones((Mask)stuff->mask & (CWBackPixmap - 1)); + tmp = *((CARD32 *) &stuff[1] + pback_offset); + if ((tmp != None) && (tmp != ParentRelative)) { + if(!(backPix = (PanoramiXRes*) SecurityLookupIDByType( + client, tmp, XRT_PIXMAP, SecurityReadAccess))) + return BadPixmap; + } + } + + if ((Mask)stuff->mask & CWBorderPixmap) { + pbord_offset = Ones((Mask)stuff->mask & (CWBorderPixmap - 1)); + tmp = *((CARD32 *) &stuff[1] + pbord_offset); + if (tmp != CopyFromParent) { + if(!(bordPix = (PanoramiXRes*) SecurityLookupIDByType( + client, tmp, XRT_PIXMAP, SecurityReadAccess))) + return BadPixmap; + } + } + + if ((Mask)stuff->mask & CWColormap) { + cmap_offset = Ones((Mask)stuff->mask & (CWColormap - 1)); + tmp = *((CARD32 *) &stuff[1] + cmap_offset); + if ((tmp != CopyFromParent) && (tmp != None)) { + if(!(cmap = (PanoramiXRes*) SecurityLookupIDByType( + client, tmp, XRT_COLORMAP, SecurityReadAccess))) + return BadColor; + } + } + + orig_visual = stuff->visualID; + + FOR_NSCREENS_BACKWARD(i) { + stuff->drawable = draw->info[i].id; + if (backPix) + *((CARD32 *) &stuff[1] + pback_offset) = backPix->info[i].id; + if (bordPix) + *((CARD32 *) &stuff[1] + pbord_offset) = bordPix->info[i].id; + if (cmap) + *((CARD32 *) &stuff[1] + cmap_offset) = cmap->info[i].id; + + if (orig_visual != CopyFromParent) + stuff->visualID = + PanoramiXVisualTable[(orig_visual*MAXSCREENS) + i]; + + status = ScreenSaverSetAttributes(client); + } + + return status; + } +#endif + + return ScreenSaverSetAttributes(client); +} + +static int +ProcScreenSaverUnsetAttributes (ClientPtr client) +{ +#ifdef PANORAMIX + if(!noPanoramiXExtension) { + REQUEST(xScreenSaverUnsetAttributesReq); + PanoramiXRes *draw; + int i; + + if(!(draw = (PanoramiXRes *)SecurityLookupIDByClass( + client, stuff->drawable, XRC_DRAWABLE, SecurityWriteAccess))) + return BadDrawable; + + for(i = PanoramiXNumScreens - 1; i > 0; i--) { + stuff->drawable = draw->info[i].id; + ScreenSaverUnsetAttributes(client); + } + + stuff->drawable = draw->info[0].id; + } +#endif + + return ScreenSaverUnsetAttributes(client); +} + static DISPATCH_PROC((*NormalVector[])) = { ProcScreenSaverQueryVersion, ProcScreenSaverQueryInfo, diff --git a/Xext/security.c b/Xext/security.c index 9af380dd6..568138e36 100644 --- a/Xext/security.c +++ b/Xext/security.c @@ -24,7 +24,7 @@ used in advertising or otherwise to promote the sale, use or other dealings in this Software without prior written authorization from The Open Group. */ -/* $XFree86: xc/programs/Xserver/Xext/security.c,v 1.11 2002/05/31 18:45:53 dawes Exp $ */ +/* $XFree86: xc/programs/Xserver/Xext/security.c,v 1.16 2003/11/17 22:20:26 dawes Exp $ */ #include "dixstruct.h" #include "extnsionst.h" @@ -56,6 +56,8 @@ extern unsigned char LbxReqCode; #undef index #endif +#include "modinit.h" + static int SecurityErrorBase; /* first Security error number */ static int SecurityEventBase; /* first Security event number */ @@ -73,14 +75,10 @@ static RESTYPE RTEventClient; * the extension can't be listed or queried. */ int (*UntrustedProcVector[256])( -#if NeedNestedPrototypes ClientPtr /*client*/ -#endif ); int (*SwappedUntrustedProcVector[256])( -#if NeedNestedPrototypes ClientPtr /*client*/ -#endif ); /* SecurityAudit @@ -102,9 +100,8 @@ SecurityAudit(char *format, ...) if (auditTrailLevel < SECURITY_AUDIT_LEVEL) return; - AuditPrefix(format); va_start(args, format); - VErrorF(format, args); + VAuditF(format, args); va_end(args); } /* SecurityAudit */ @@ -123,9 +120,9 @@ SecurityAudit(char *format, ...) */ static int -SecurityDeleteAuthorization(value, id) - pointer value; - XID id; +SecurityDeleteAuthorization( + pointer value, + XID id) { SecurityAuthorizationPtr pAuth = (SecurityAuthorizationPtr)value; unsigned short name_len, data_len; @@ -141,6 +138,7 @@ SecurityDeleteAuthorization(value, id) assert(status); status = RemoveAuthorization(name_len, name, data_len, data); assert(status); + (void)status; /* free the auth timer if there is one */ @@ -181,9 +179,9 @@ SecurityDeleteAuthorization(value, id) /* resource delete function for RTEventClient */ static int -SecurityDeleteAuthorizationEventClient(value, id) - pointer value; - XID id; +SecurityDeleteAuthorizationEventClient( + pointer value, + XID id) { OtherClientsPtr pEventClient, prev = NULL; SecurityAuthorizationPtr pAuth = (SecurityAuthorizationPtr)value; @@ -223,9 +221,9 @@ SecurityDeleteAuthorizationEventClient(value, id) */ static CARD32 -SecurityComputeAuthorizationTimeout(pAuth, seconds) - SecurityAuthorizationPtr pAuth; - unsigned int seconds; +SecurityComputeAuthorizationTimeout( + SecurityAuthorizationPtr pAuth, + unsigned int seconds) { /* maxSecs is the number of full seconds that can be expressed in * 32 bits worth of milliseconds @@ -264,10 +262,10 @@ SecurityComputeAuthorizationTimeout(pAuth, seconds) */ static CARD32 -SecurityAuthorizationExpired(timer, time, pval) - OsTimerPtr timer; - CARD32 time; - pointer pval; +SecurityAuthorizationExpired( + OsTimerPtr timer, + CARD32 time, + pointer pval) { SecurityAuthorizationPtr pAuth = (SecurityAuthorizationPtr)pval; @@ -299,8 +297,8 @@ SecurityAuthorizationExpired(timer, time, pval) */ static void -SecurityStartAuthorizationTimer(pAuth) - SecurityAuthorizationPtr pAuth; +SecurityStartAuthorizationTimer( + SecurityAuthorizationPtr pAuth) { pAuth->timer = TimerSet(pAuth->timer, 0, SecurityComputeAuthorizationTimeout(pAuth, pAuth->timeout), @@ -313,8 +311,8 @@ SecurityStartAuthorizationTimer(pAuth) */ static int -ProcSecurityQueryVersion(client) - ClientPtr client; +ProcSecurityQueryVersion( + ClientPtr client) { /* REQUEST(xSecurityQueryVersionReq); */ xSecurityQueryVersionReply rep; @@ -345,10 +343,10 @@ ProcSecurityQueryVersion(client) static int -SecurityEventSelectForAuthorization(pAuth, client, mask) - SecurityAuthorizationPtr pAuth; - ClientPtr client; - Mask mask; +SecurityEventSelectForAuthorization( + SecurityAuthorizationPtr pAuth, + ClientPtr client, + Mask mask) { OtherClients *pEventClient; @@ -385,8 +383,8 @@ SecurityEventSelectForAuthorization(pAuth, client, mask) static int -ProcSecurityGenerateAuthorization(client) - ClientPtr client; +ProcSecurityGenerateAuthorization( + ClientPtr client) { REQUEST(xSecurityGenerateAuthorizationReq); int len; /* request length in CARD32s*/ @@ -582,8 +580,8 @@ bailout: } /* ProcSecurityGenerateAuthorization */ static int -ProcSecurityRevokeAuthorization(client) - ClientPtr client; +ProcSecurityRevokeAuthorization( + ClientPtr client) { REQUEST(xSecurityRevokeAuthorizationReq); SecurityAuthorizationPtr pAuth; @@ -607,8 +605,8 @@ ProcSecurityRevokeAuthorization(client) static int -ProcSecurityDispatch(client) - ClientPtr client; +ProcSecurityDispatch( + ClientPtr client) { REQUEST(xReq); @@ -626,8 +624,8 @@ ProcSecurityDispatch(client) } /* ProcSecurityDispatch */ static int -SProcSecurityQueryVersion(client) - ClientPtr client; +SProcSecurityQueryVersion( + ClientPtr client) { REQUEST(xSecurityQueryVersionReq); register char n; @@ -641,8 +639,8 @@ SProcSecurityQueryVersion(client) static int -SProcSecurityGenerateAuthorization(client) - ClientPtr client; +SProcSecurityGenerateAuthorization( + ClientPtr client) { REQUEST(xSecurityGenerateAuthorizationReq); register char n; @@ -664,8 +662,8 @@ SProcSecurityGenerateAuthorization(client) static int -SProcSecurityRevokeAuthorization(client) - ClientPtr client; +SProcSecurityRevokeAuthorization( + ClientPtr client) { REQUEST(xSecurityRevokeAuthorizationReq); register char n; @@ -678,8 +676,8 @@ SProcSecurityRevokeAuthorization(client) static int -SProcSecurityDispatch(client) - ClientPtr client; +SProcSecurityDispatch( + ClientPtr client) { REQUEST(xReq); @@ -697,8 +695,9 @@ SProcSecurityDispatch(client) } /* SProcSecurityDispatch */ static void -SwapSecurityAuthorizationRevokedEvent(from, to) - xSecurityAuthorizationRevokedEvent *from, *to; +SwapSecurityAuthorizationRevokedEvent( + xSecurityAuthorizationRevokedEvent *from, + xSecurityAuthorizationRevokedEvent *to) { to->type = from->type; to->detail = from->detail; @@ -726,10 +725,10 @@ SwapSecurityAuthorizationRevokedEvent(from, to) */ static void -SecurityDetermineEventPropogationLimits(dev, ppWin, ppStopWin) - DeviceIntPtr dev; - WindowPtr *ppWin; - WindowPtr *ppStopWin; +SecurityDetermineEventPropogationLimits( + DeviceIntPtr dev, + WindowPtr *ppWin, + WindowPtr *ppStopWin) { WindowPtr pFocusWin = dev->focus ? dev->focus->win : NoneWin; @@ -896,9 +895,9 @@ SecurityCheckDeviceAccess(client, dev, fromRequest) */ static pointer -SecurityAuditResourceIDAccess(client, id) - ClientPtr client; - XID id; +SecurityAuditResourceIDAccess( + ClientPtr client, + XID id) { int cid = CLIENT_ID(id); int reqtype = ((xReq *)client->requestBuffer)->reqType; @@ -950,12 +949,12 @@ SecurityAuditResourceIDAccess(client, id) */ static pointer -SecurityCheckResourceIDAccess(client, id, rtype, access_mode, rval) - ClientPtr client; - XID id; - RESTYPE rtype; - Mask access_mode; - pointer rval; +SecurityCheckResourceIDAccess( + ClientPtr client, + XID id, + RESTYPE rtype, + Mask access_mode, + pointer rval) { int cid = CLIENT_ID(id); int reqtype = ((xReq *)client->requestBuffer)->reqType; @@ -1116,10 +1115,10 @@ SecurityCheckResourceIDAccess(client, id, rtype, access_mode, rval) */ static void -SecurityClientStateCallback(pcbl, nulldata, calldata) - CallbackListPtr *pcbl; - pointer nulldata; - pointer calldata; +SecurityClientStateCallback( + CallbackListPtr *pcbl, + pointer nulldata, + pointer calldata) { NewClientInfoRec *pci = (NewClientInfoRec *)calldata; ClientPtr client = pci->client; @@ -1220,6 +1219,7 @@ SecurityCensorImage(client, pVisibleRegion, widthBytesLine, pDraw, x, y, w, h, unsigned int format; char * pBuf; { + ScreenPtr pScreen = pDraw->pScreen; RegionRec imageRegion; /* region representing x,y,w,h */ RegionRec censorRegion; /* region to obliterate */ BoxRec imageBox; @@ -1230,7 +1230,7 @@ SecurityCensorImage(client, pVisibleRegion, widthBytesLine, pDraw, x, y, w, h, imageBox.x2 = x + w; imageBox.y2 = y + h; REGION_INIT(pScreen, &imageRegion, &imageBox, 1); - REGION_INIT(pScreen, &censorRegion, NullBox, 0); + REGION_NULL(pScreen, &censorRegion); /* censorRegion = imageRegion - visibleRegion */ REGION_SUBTRACT(pScreen, &censorRegion, &imageRegion, pVisibleRegion); @@ -1348,7 +1348,7 @@ static char *SecurityKeywords[] = { /*#define PROPDEBUG 1*/ static void -SecurityFreePropertyAccessList() +SecurityFreePropertyAccessList(void) { while (PropertyAccessList) { @@ -1365,8 +1365,8 @@ SecurityFreePropertyAccessList() #endif static char * -SecuritySkipWhitespace(p) - char *p; +SecuritySkipWhitespace( + char *p) { while (SecurityIsWhitespace(*p)) p++; @@ -1375,8 +1375,8 @@ SecuritySkipWhitespace(p) static char * -SecurityParseString(rest) - char **rest; +SecurityParseString( + char **rest) { char *startOfString; char *s = *rest; @@ -1412,8 +1412,8 @@ SecurityParseString(rest) static int -SecurityParseKeyword(p) - char **p; +SecurityParseKeyword( + char **p) { int i; char *s = *p; @@ -1433,8 +1433,8 @@ SecurityParseKeyword(p) static Bool -SecurityParsePropertyAccessRule(p) - char *p; +SecurityParsePropertyAccessRule( + char *p) { char *propname; char c; @@ -1574,8 +1574,8 @@ static char **SecurityPolicyStrings = NULL; static int nSecurityPolicyStrings = 0; static Bool -SecurityParseSitePolicy(p) - char *p; +SecurityParseSitePolicy( + char *p) { char *policyStr = SecurityParseString(&p); char *copyPolicyStr; @@ -1613,7 +1613,7 @@ SecurityGetSitePolicyStrings(n) } /* SecurityGetSitePolicyStrings */ static void -SecurityFreeSitePolicyStrings() +SecurityFreeSitePolicyStrings(void) { if (SecurityPolicyStrings) { @@ -1630,7 +1630,7 @@ SecurityFreeSitePolicyStrings() static void -SecurityLoadPropertyAccessList() +SecurityLoadPropertyAccessList(void) { FILE *f; int lineNumber = 0; @@ -1732,9 +1732,9 @@ SecurityLoadPropertyAccessList() static Bool -SecurityMatchString(ws, cs) - char *ws; - char *cs; +SecurityMatchString( + char *ws, + char *cs) { while (*ws && *cs) { @@ -1908,8 +1908,8 @@ SecurityCheckPropertyAccess(client, pWin, propertyName, access_mode) */ static void -SecurityResetProc(extEntry) - ExtensionEntry *extEntry; +SecurityResetProc( + ExtensionEntry *extEntry) { SecurityFreePropertyAccessList(); SecurityFreeSitePolicyStrings(); @@ -1944,7 +1944,7 @@ XSecurityOptions(argc, argv, i) */ void -SecurityExtensionInit() +SecurityExtensionInit(INITARGS) { ExtensionEntry *extEntry; int i; diff --git a/Xext/shape.c b/Xext/shape.c index 7bd161dcc..956a8ebfc 100644 --- a/Xext/shape.c +++ b/Xext/shape.c @@ -1,4 +1,4 @@ -/* $XFree86: xc/programs/Xserver/Xext/shape.c,v 3.16 2001/12/14 19:58:50 dawes Exp $ */ +/* $XFree86: xc/programs/Xserver/Xext/shape.c,v 3.19 2003/11/17 22:20:26 dawes Exp $ */ /************************************************************ Copyright 1989, 1998 The Open Group @@ -46,45 +46,33 @@ in this Software without prior written authorization from The Open Group. #ifdef EXTMODULE #include "xf86_ansic.h" #endif +#include "modinit.h" typedef RegionPtr (*CreateDftPtr)( -#if NeedNestedPrototypes WindowPtr /* pWin */ -#endif ); static int ShapeFreeClient( -#if NeedFunctionPrototypes pointer /* data */, XID /* id */ -#endif ); static int ShapeFreeEvents( -#if NeedFunctionPrototypes pointer /* data */, XID /* id */ -#endif ); static void SendShapeNotify( -#if NeedFunctionPrototypes WindowPtr /* pWin */, int /* which */ -#endif ); static void ShapeResetProc( -#if NeedFunctionPrototypes ExtensionEntry * /* extEntry */ -#endif ); static void SShapeNotifyEvent( -#if NeedFunctionPrototypes xShapeNotifyEvent * /* from */, xShapeNotifyEvent * /* to */ -#endif ); static int RegionOperate ( -#if NeedFunctionPrototypes ClientPtr /* client */, WindowPtr /* pWin */, int /* kind */, @@ -94,14 +82,9 @@ RegionOperate ( int /* xoff */, int /* yoff */, CreateDftPtr /* create */ -#endif ); -#if NeedFunctionPrototypes #define CREATE_PROC(func) RegionPtr func(WindowPtr /* pWin */) -#else -#define CREATE_PROC(func) RegionPtr func(/* WindowPtr pWin */) -#endif static CREATE_PROC(CreateBoundingShape); static CREATE_PROC(CreateClipShape); @@ -134,7 +117,9 @@ static DISPATCH_PROC(SProcShapeSelectInput); #include "panoramiXsrv.h" #endif +#if 0 static unsigned char ShapeReqCode = 0; +#endif static int ShapeEventBase = 0; static RESTYPE ClientType, EventType; /* resource types for event masks */ @@ -164,7 +149,7 @@ typedef struct _ShapeEvent { ****************/ void -ShapeExtensionInit() +ShapeExtensionInit(INITARGS) { ExtensionEntry *extEntry; @@ -175,7 +160,9 @@ ShapeExtensionInit() ProcShapeDispatch, SProcShapeDispatch, ShapeResetProc, StandardMinorOpcode))) { +#if 0 ShapeReqCode = (unsigned char)extEntry->base; +#endif ShapeEventBase = extEntry->eventBase; EventSwapVector[ShapeEventBase] = (EventSwapPtr) SShapeNotifyEvent; } @@ -390,8 +377,8 @@ ProcShapeRectangles (client) #ifdef PANORAMIX static int -ProcPanoramiXShapeRectangles (client) - register ClientPtr client; +ProcPanoramiXShapeRectangles( + register ClientPtr client) { REQUEST(xShapeRectanglesReq); PanoramiXRes *win; @@ -479,8 +466,8 @@ ProcShapeMask (client) #ifdef PANORAMIX static int -ProcPanoramiXShapeMask (client) - register ClientPtr client; +ProcPanoramiXShapeMask( + register ClientPtr client) { REQUEST(xShapeMaskReq); PanoramiXRes *win, *pmap; @@ -594,8 +581,8 @@ ProcShapeCombine (client) #ifdef PANORAMIX static int -ProcPanoramiXShapeCombine (client) - register ClientPtr client; +ProcPanoramiXShapeCombine( + register ClientPtr client) { REQUEST(xShapeCombineReq); PanoramiXRes *win, *win2; @@ -663,8 +650,8 @@ ProcShapeOffset (client) #ifdef PANORAMIX static int -ProcPanoramiXShapeOffset (client) - register ClientPtr client; +ProcPanoramiXShapeOffset( + register ClientPtr client) { REQUEST(xShapeOffsetReq); PanoramiXRes *win; diff --git a/Xext/shm.c b/Xext/shm.c index 3ba9ad2c1..9591eab54 100644 --- a/Xext/shm.c +++ b/Xext/shm.c @@ -1,4 +1,4 @@ -/* $XFree86: xc/programs/Xserver/Xext/shm.c,v 3.36 2002/04/03 19:51:11 herrb Exp $ */ +/* $XFree86: xc/programs/Xserver/Xext/shm.c,v 3.40 2003/11/17 22:20:27 dawes Exp $ */ /************************************************************ Copyright 1989, 1998 The Open Group @@ -29,6 +29,8 @@ in this Software without prior written authorization from The Open Group. /* $Xorg: shm.c,v 1.4 2001/02/09 02:04:33 xorgcvs Exp $ */ +#define SHM + #include <sys/types.h> #ifndef Lynx #include <sys/ipc.h> @@ -65,6 +67,8 @@ in this Software without prior written authorization from The Open Group. #include "panoramiXsrv.h" #endif +#include "modinit.h" + typedef struct _ShmDesc { struct _ShmDesc *next; int shmid; @@ -78,21 +82,15 @@ static void miShmPutImage(XSHM_PUT_IMAGE_ARGS); static void fbShmPutImage(XSHM_PUT_IMAGE_ARGS); static PixmapPtr fbShmCreatePixmap(XSHM_CREATE_PIXMAP_ARGS); static int ShmDetachSegment( -#if NeedFunctionPrototypes pointer /* value */, XID /* shmseg */ -#endif ); static void ShmResetProc( -#if NeedFunctionPrototypes ExtensionEntry * /* extEntry */ -#endif ); static void SShmCompletionEvent( -#if NeedFunctionPrototypes xShmCompletionEvent * /* from */, xShmCompletionEvent * /* to */ -#endif ); static Bool ShmDestroyPixmap (PixmapPtr pPixmap); @@ -159,7 +157,7 @@ static ShmFuncs fbFuncs = {fbShmCreatePixmap, fbShmPutImage}; } -#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) +#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__CYGWIN__) #include <sys/signal.h> static Bool badSysCall = FALSE; @@ -181,23 +179,32 @@ static Bool CheckForShmSyscall() badSysCall = FALSE; shmid = shmget(IPC_PRIVATE, 4096, IPC_CREAT); - /* Clean up */ + if (shmid != -1) { + /* Successful allocation - clean up */ shmctl(shmid, IPC_RMID, (struct shmid_ds *)NULL); } + else + { + /* Allocation failed */ + badSysCall = TRUE; + } signal(SIGSYS, oldHandler); return(!badSysCall); } + +#define MUST_CHECK_FOR_SHM_SYSCALL + #endif - + void -ShmExtensionInit() +ShmExtensionInit(INITARGS) { ExtensionEntry *extEntry; int i; -#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) +#ifdef MUST_CHECK_FOR_SHM_SYSCALL if (!CheckForShmSyscall()) { ErrorF("MIT-SHM extension disabled due to lack of kernel support\n"); @@ -270,17 +277,17 @@ ExtensionEntry *extEntry; } void -ShmRegisterFuncs(pScreen, funcs) - ScreenPtr pScreen; - ShmFuncsPtr funcs; +ShmRegisterFuncs( + ScreenPtr pScreen, + ShmFuncsPtr funcs) { shmFuncs[pScreen->myNum] = funcs; } void -ShmSetPixmapFormat(pScreen, format) - ScreenPtr pScreen; - int format; +ShmSetPixmapFormat( + ScreenPtr pScreen, + int format) { shmPixFormat[pScreen->myNum] = format; } @@ -572,8 +579,7 @@ ProcPanoramiXShmPutImage(register ClientPtr client) client, stuff->gc, XRT_GC, SecurityReadAccess))) return BadGC; - isRoot = (draw->type == XRT_WINDOW) && - (stuff->drawable == WindowTable[0]->drawable.id); + isRoot = (draw->type == XRT_WINDOW) && draw->u.win.root; orig_x = stuff->dstX; orig_y = stuff->dstY; @@ -633,8 +639,7 @@ ProcPanoramiXShmGetImage(ClientPtr client) format = stuff->format; planemask = stuff->planeMask; - isRoot = (draw->type == XRT_WINDOW) && - (stuff->drawable == WindowTable[0]->drawable.id); + isRoot = (draw->type == XRT_WINDOW) && draw->u.win.root; if(isRoot) { if( /* check for being onscreen */ @@ -709,8 +714,8 @@ ProcPanoramiXShmGetImage(ClientPtr client) } static int -ProcPanoramiXShmCreatePixmap(client) - register ClientPtr client; +ProcPanoramiXShmCreatePixmap( + register ClientPtr client) { ScreenPtr pScreen = NULL; PixmapPtr pMap = NULL; diff --git a/Xext/sleepuntil.c b/Xext/sleepuntil.c index eb2b96a76..afde19cba 100644 --- a/Xext/sleepuntil.c +++ b/Xext/sleepuntil.c @@ -25,7 +25,7 @@ in this Software without prior written authorization from The Open Group. * * Author: Keith Packard, MIT X Consortium */ -/* $XFree86: xc/programs/Xserver/Xext/sleepuntil.c,v 3.5 2001/12/14 19:58:51 dawes Exp $ */ +/* $XFree86: xc/programs/Xserver/Xext/sleepuntil.c,v 3.7 2003/11/17 22:20:27 dawes Exp $ */ /* dixsleep.c - implement millisecond timeouts for X clients */ @@ -44,10 +44,8 @@ typedef struct _Sertafied { ClientPtr pClient; XID id; void (*notifyFunc)( -#if NeedNestedPrototypes ClientPtr /* client */, pointer /* closure */ -#endif ); pointer closure; @@ -59,37 +57,31 @@ static Bool BlockHandlerRegistered; static int SertafiedGeneration; static void ClientAwaken( -#if NeedFunctionPrototypes ClientPtr /* client */, pointer /* closure */ -#endif ); static int SertafiedDelete( -#if NeedFunctionPrototypes pointer /* value */, XID /* id */ -#endif ); static void SertafiedBlockHandler( -#if NeedFunctionPrototypes pointer /* data */, OSTimePtr /* wt */, pointer /* LastSelectMask */ -#endif ); static void SertafiedWakeupHandler( -#if NeedFunctionPrototypes pointer /* data */, int /* i */, pointer /* LastSelectMask */ -#endif ); int ClientSleepUntil (client, revive, notifyFunc, closure) ClientPtr client; TimeStamp *revive; - void (*notifyFunc)(); + void (*notifyFunc)( + ClientPtr /* client */, + pointer /* closure */); pointer closure; { SertafiedPtr pRequest, pReq, pPrev; diff --git a/Xext/sleepuntil.h b/Xext/sleepuntil.h index 29d761a0e..f8fcc6cb9 100644 --- a/Xext/sleepuntil.h +++ b/Xext/sleepuntil.h @@ -1,4 +1,4 @@ -/* $XFree86: xc/programs/Xserver/Xext/sleepuntil.h,v 1.1 2001/08/01 00:44:44 tsi Exp $ */ +/* $XFree86: xc/programs/Xserver/Xext/sleepuntil.h,v 1.2 2003/11/17 22:20:27 dawes Exp $ */ /* * Copyright (C) 2001 The XFree86 Project, Inc. All Rights Reserved. * @@ -31,17 +31,13 @@ #include "dix.h" extern int ClientSleepUntil( -#if NeedFunctionPrototypes ClientPtr client, TimeStamp *revive, void (*notifyFunc)( -#if NeedNestedPrototypes ClientPtr /* client */, pointer /* closure */ -#endif ), pointer Closure -#endif ); #endif diff --git a/Xext/sync.c b/Xext/sync.c index 079a804e3..25d360bfa 100644 --- a/Xext/sync.c +++ b/Xext/sync.c @@ -50,7 +50,7 @@ OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ -/* $XFree86: xc/programs/Xserver/Xext/sync.c,v 3.11 2001/12/14 19:58:51 dawes Exp $ */ +/* $XFree86: xc/programs/Xserver/Xext/sync.c,v 3.14 2003/11/17 22:20:27 dawes Exp $ */ #define NEED_REPLIES #define NEED_EVENTS @@ -76,10 +76,11 @@ PERFORMANCE OF THIS SOFTWARE. #endif #endif +#include "modinit.h" + /* * Local Global Variables */ -static int SyncReqCode; static int SyncEventBase; static int SyncErrorBase; static RESTYPE RTCounter = 0; @@ -98,219 +99,165 @@ static SyncCounter **SysCounterList = NULL; static int FreeAlarm( -#if NeedFunctionPrototypes pointer /* addr */, XID /* id */ -#endif ); static int FreeAlarmClient( -#if NeedFunctionPrototypes pointer /* value */, XID /* id */ -#endif ); static int FreeAwait( -#if NeedFunctionPrototypes pointer /* addr */, XID /* id */ -#endif ); static void ServertimeBracketValues( -#if NeedFunctionPrototypes pointer /* pCounter */, CARD64 * /* pbracket_less */, CARD64 * /* pbracket_greater */ -#endif ); static void ServertimeQueryValue( -#if NeedFunctionPrototypes pointer /* pCounter */, CARD64 * /* pValue_return */ -#endif ); static void ServertimeWakeupHandler( -#if NeedFunctionPrototypes pointer /* env */, int /* rc */, pointer /* LastSelectMask */ -#endif ); static int SyncInitTrigger( -#if NeedFunctionPrototypes ClientPtr /* client */, SyncTrigger * /* pTrigger */, XSyncCounter /* counter */, Mask /* changes */ -#endif ); static void SAlarmNotifyEvent( -#if NeedFunctionPrototypes xSyncAlarmNotifyEvent * /* from */, xSyncAlarmNotifyEvent * /* to */ -#endif ); static void SCounterNotifyEvent( -#if NeedFunctionPrototypes xSyncCounterNotifyEvent * /* from */, xSyncCounterNotifyEvent * /* to */ -#endif ); static void ServertimeBlockHandler( -#if NeedFunctionPrototypes pointer /* env */, struct timeval ** /* wt */, pointer /* LastSelectMask */ -#endif ); static int SyncAddTriggerToCounter( -#if NeedFunctionPrototypes SyncTrigger * /* pTrigger */ -#endif ); extern void SyncAlarmCounterDestroyed( -#if NeedFunctionPrototypes SyncTrigger * /* pTrigger */ -#endif ); static void SyncAlarmTriggerFired( -#if NeedFunctionPrototypes SyncTrigger * /* pTrigger */ -#endif ); static void SyncAwaitTriggerFired( -#if NeedFunctionPrototypes SyncTrigger * /* pTrigger */ -#endif ); static int SyncChangeAlarmAttributes( -#if NeedFunctionPrototypes ClientPtr /* client */, SyncAlarm * /* pAlarm */, Mask /* mask */, CARD32 * /* values */ -#endif ); static Bool SyncCheckTriggerNegativeComparison( -#if NeedFunctionPrototypes SyncTrigger * /* pTrigger */, CARD64 /* oldval */ -#endif ); static Bool SyncCheckTriggerNegativeTransition( -#if NeedFunctionPrototypes SyncTrigger * /* pTrigger */, CARD64 /* oldval */ -#endif ); static Bool SyncCheckTriggerPositiveComparison( -#if NeedFunctionPrototypes SyncTrigger * /* pTrigger */, CARD64 /* oldval */ -#endif ); static Bool SyncCheckTriggerPositiveTransition( -#if NeedFunctionPrototypes SyncTrigger * /* pTrigger */, CARD64 /* oldval */ -#endif ); static SyncCounter * SyncCreateCounter( -#if NeedFunctionPrototypes ClientPtr /* client */, XSyncCounter /* id */, CARD64 /* initialvalue */ -#endif ); static void SyncComputeBracketValues( -#if NeedFunctionPrototypes SyncCounter * /* pCounter */, Bool /* startOver */ -#endif ); static void SyncDeleteTriggerFromCounter( -#if NeedFunctionPrototypes SyncTrigger * /* pTrigger */ -#endif ); static Bool SyncEventSelectForAlarm( -#if NeedFunctionPrototypes SyncAlarm * /* pAlarm */, ClientPtr /* client */, Bool /* wantevents */ -#endif ); static void SyncInitServerTime( -#if NeedFunctionPrototypes void -#endif ); static void SyncResetProc( -#if NeedFunctionPrototypes ExtensionEntry * /* extEntry */ -#endif ); static void SyncSendAlarmNotifyEvents( -#if NeedFunctionPrototypes SyncAlarm * /* pAlarm */ -#endif ); static void SyncSendCounterNotifyEvents( -#if NeedFunctionPrototypes ClientPtr /* client */, SyncAwait ** /* ppAwait */, int /* num_events */ -#endif ); static DISPATCH_PROC(ProcSyncAwait); @@ -1081,10 +1028,8 @@ SyncCreateCounter(client, id, initialvalue) } static int FreeCounter( -#if NeedFunctionPrototypes pointer /*env*/, XID /*id*/ -#endif ); /* @@ -1098,8 +1043,13 @@ SyncCreateSystemCounter(name, initial, resolution, counterType, CARD64 initial; CARD64 resolution; SyncCounterType counterType; - void (*QueryValue) (); - void (*BracketValues) (); + void (*QueryValue) ( + pointer /* pCounter */, + CARD64 * /* pValue_return */); + void (*BracketValues) ( + pointer /* pCounter */, + CARD64 * /* pbracket_less */, + CARD64 * /* pbracket_greater */); { SyncCounter *pCounter; @@ -1588,6 +1538,8 @@ ProcSyncSetCounter(client) SyncCounter *pCounter; CARD64 newvalue; + REQUEST_SIZE_MATCH(xSyncSetCounterReq); + pCounter = (SyncCounter *)SecurityLookupIDByType(client, stuff->cid, RTCounter, SecurityWriteAccess); if (pCounter == NULL) @@ -2031,12 +1983,11 @@ static int ProcSyncDestroyAlarm(client) ClientPtr client; { - SyncAlarm *pAlarm; REQUEST(xSyncDestroyAlarmReq); REQUEST_SIZE_MATCH(xSyncDestroyAlarmReq); - if (!(pAlarm = (SyncAlarm *)SecurityLookupIDByType(client, stuff->alarm, + if (!((SyncAlarm *)SecurityLookupIDByType(client, stuff->alarm, RTAlarm, SecurityDestroyAccess))) { client->errorValue = stuff->alarm; @@ -2399,7 +2350,7 @@ SyncResetProc(extEntry) * ** Initialise the extension. */ void -SyncExtensionInit() +SyncExtensionInit(INITARGS) { ExtensionEntry *extEntry; @@ -2424,7 +2375,6 @@ SyncExtensionInit() return; } - SyncReqCode = extEntry->base; SyncEventBase = extEntry->eventBase; SyncErrorBase = extEntry->errorBase; EventSwapVector[SyncEventBase + XSyncCounterNotify] = (EventSwapPtr) SCounterNotifyEvent; @@ -2488,6 +2438,7 @@ pointer LastSelectMask; { Bool overflow; XSyncValueSubtract(&delay, *pnext_time, Now, &overflow); + (void)overflow; timeout = XSyncValueLow32(delay); } AdjustWaitForDelay(wt, timeout); /* os/utils.c */ diff --git a/Xext/xcmisc.c b/Xext/xcmisc.c index 1d3b416db..b31057a0d 100644 --- a/Xext/xcmisc.c +++ b/Xext/xcmisc.c @@ -26,7 +26,7 @@ other dealings in this Software without prior written authorization from The Open Group. */ -/* $XFree86: xc/programs/Xserver/Xext/xcmisc.c,v 3.5 2001/12/14 19:58:51 dawes Exp $ */ +/* $XFree86: xc/programs/Xserver/Xext/xcmisc.c,v 3.8 2003/11/17 22:20:27 dawes Exp $ */ #define NEED_EVENTS #define NEED_REPLIES @@ -38,13 +38,14 @@ from The Open Group. #include "extnsionst.h" #include "swaprep.h" #include "xcmiscstr.h" +#include "modinit.h" +#if 0 static unsigned char XCMiscCode; +#endif static void XCMiscResetProc( -#if NeedFunctionPrototypes ExtensionEntry * /* extEntry */ -#endif ); static DISPATCH_PROC(ProcXCMiscDispatch); @@ -57,14 +58,21 @@ static DISPATCH_PROC(SProcXCMiscGetXIDList); static DISPATCH_PROC(SProcXCMiscGetXIDRange); void -XCMiscExtensionInit() +XCMiscExtensionInit(INITARGS) { +#if 0 ExtensionEntry *extEntry; if ((extEntry = AddExtension(XCMiscExtensionName, 0, 0, ProcXCMiscDispatch, SProcXCMiscDispatch, XCMiscResetProc, StandardMinorOpcode)) != 0) XCMiscCode = (unsigned char)extEntry->base; +#else + (void) AddExtension(XCMiscExtensionName, 0, 0, + ProcXCMiscDispatch, SProcXCMiscDispatch, + XCMiscResetProc, StandardMinorOpcode); +#endif + DeclareExtensionSecurity(XCMiscExtensionName, TRUE); } diff --git a/Xext/xf86bigfont.c b/Xext/xf86bigfont.c index 38fac9450..1da665af0 100644 --- a/Xext/xf86bigfont.c +++ b/Xext/xf86bigfont.c @@ -1,4 +1,4 @@ -/* $XFree86: xc/programs/Xserver/Xext/xf86bigfont.c,v 1.13 2001/06/30 22:41:44 tsi Exp $ */ +/* $XFree86: xc/programs/Xserver/Xext/xf86bigfont.c,v 1.18 2003/11/17 22:20:27 dawes Exp $ */ /* * BIGFONT extension for sharing font metrics between clients (if possible) * and for transmitting font metrics to clients in a compressed form. @@ -73,9 +73,7 @@ #include "xf86bigfstr.h" static void XF86BigfontResetProc( -#if NeedFunctionPrototypes ExtensionEntry * /* extEntry */ -#endif ); static DISPATCH_PROC(ProcXF86BigfontDispatch); @@ -85,7 +83,9 @@ static DISPATCH_PROC(SProcXF86BigfontDispatch); static DISPATCH_PROC(SProcXF86BigfontQueryVersion); static DISPATCH_PROC(SProcXF86BigfontQueryFont); +#if 0 static unsigned char XF86BigfontReqCode; +#endif #ifdef HAS_SHM @@ -112,9 +112,10 @@ SigSysHandler( badSysCall = TRUE; } -static Bool CheckForShmSyscall() +static Bool +CheckForShmSyscall(void) { - void (*oldHandler)(); + void (*oldHandler)(int); int shmid = -1; /* If no SHM support in the kernel, the bad syscall will generate SIGSYS */ @@ -122,10 +123,16 @@ static Bool CheckForShmSyscall() badSysCall = FALSE; shmid = shmget(IPC_PRIVATE, 4096, IPC_CREAT); - /* Clean up */ - if (shmid != -1) { + if (shmid != -1) + { + /* Successful allocation - clean up */ shmctl(shmid, IPC_RMID, (struct shmid_ds *)NULL); } + else + { + /* Allocation failed */ + badSysCall = TRUE; + } signal(SIGSYS, oldHandler); return (!badSysCall); } @@ -139,6 +146,7 @@ static Bool CheckForShmSyscall() void XFree86BigfontExtensionInit() { +#if 0 ExtensionEntry* extEntry; if ((extEntry = AddExtension(XF86BIGFONTNAME, @@ -149,10 +157,25 @@ XFree86BigfontExtensionInit() XF86BigfontResetProc, StandardMinorOpcode))) { XF86BigfontReqCode = (unsigned char) extEntry->base; +#else + if (AddExtension(XF86BIGFONTNAME, + XF86BigfontNumberEvents, + XF86BigfontNumberErrors, + ProcXF86BigfontDispatch, + SProcXF86BigfontDispatch, + XF86BigfontResetProc, + StandardMinorOpcode)) { +#endif #ifdef HAS_SHM #ifdef MUST_CHECK_FOR_SHM_SYSCALL + /* + * Note: Local-clients will not be optimized without shared memory + * support. Remote-client optimization does not depend on shared + * memory support. Thus, the extension is still registered even + * when shared memory support is not functional. + */ if (!CheckForShmSyscall()) { - ErrorF(XF86BIGFONTNAME " extension disabled due to lack of shared memory support in the kernel\n"); + ErrorF(XF86BIGFONTNAME " extension local-client optimization disabled due to lack of shared memory support in the kernel\n"); return; } #endif diff --git a/Xext/xprint.c b/Xext/xprint.c index db9a25135..e50fb4068 100644 --- a/Xext/xprint.c +++ b/Xext/xprint.c @@ -64,7 +64,7 @@ copyright holders. ** ********************************************************* ** ********************************************************************/ -/* $XFree86: xc/programs/Xserver/Xext/xprint.c,v 1.13 2001/11/23 19:21:31 dawes Exp $ */ +/* $XFree86: xc/programs/Xserver/Xext/xprint.c,v 1.15 2003/10/28 23:08:44 tsi Exp $ */ #define _XP_PRINT_SERVER_ #include "X.h" @@ -83,6 +83,7 @@ copyright holders. #include "Printstr.h" #include "../Xprint/DiPrint.h" #include "../Xprint/attributes.h" +#include "modinit.h" static void XpResetProc(ExtensionEntry *); @@ -282,7 +283,7 @@ static CARD32 allEvents = XPPrintMask | XPAttributeMask; */ void -XpExtensionInit(void) +XpExtensionInit(INITARGS) { ExtensionEntry *extEntry; int i; @@ -753,15 +754,17 @@ ProcXpGetPageDimensions(ClientPtr client) return XpErrorBase+XPBadContext; } - if(pContext->funcs.GetMediumDimensions != 0) - result = pContext->funcs.GetMediumDimensions(pContext, &width, &height); - else + if((pContext->funcs.GetMediumDimensions == 0) || + (pContext->funcs.GetReproducibleArea == 0)) return BadImplementation; - if(pContext->funcs.GetReproducibleArea != 0) + result = pContext->funcs.GetMediumDimensions(pContext, &width, &height); + if(result != Success) + return result; + result = pContext->funcs.GetReproducibleArea(pContext, &rect); - else - return BadImplementation; + if(result != Success) + return result; rep.type = X_Reply; rep.sequenceNumber = client->sequence; @@ -814,11 +817,13 @@ ProcXpSetImageResolution(ClientPtr client) } rep.prevRes = pContext->imageRes; - if(pContext->funcs.SetImageResolution != 0) + if(pContext->funcs.SetImageResolution != 0) { result = pContext->funcs.SetImageResolution(pContext, (int)stuff->imageRes, &status); - else + if(result != Success) + status = FALSE; + } else status = FALSE; rep.type = X_Reply; @@ -1491,7 +1496,6 @@ ProcXpStartJob(ClientPtr client) REQUEST(xPrintStartJobReq); XpContextPtr pContext; int result = Success; - XpScreenPtr pPrintScreen; REQUEST_SIZE_MATCH(xPrintStartJobReq); @@ -1509,7 +1513,6 @@ ProcXpStartJob(ClientPtr client) return BadValue; } - pPrintScreen = XpScreens[pContext->screenNum]; if(pContext->funcs.StartJob != 0) result = pContext->funcs.StartJob(pContext, (stuff->saveData == XPGetData)? TRUE:FALSE, @@ -1533,7 +1536,6 @@ static int ProcXpEndJob(ClientPtr client) { REQUEST(xPrintEndJobReq); - XpScreenPtr pPrintScreen; int result = Success; XpContextPtr pContext; @@ -1543,8 +1545,6 @@ ProcXpEndJob(ClientPtr client) == (XpContextPtr)NULL) return XpErrorBase+XPBadSequence; - pPrintScreen = XpScreens[pContext->screenNum]; - if(!(pContext->state & JOB_STARTED)) return XpErrorBase+XPBadSequence; @@ -1603,8 +1603,6 @@ ProcXpEndJob(ClientPtr client) static Bool DoStartDoc(ClientPtr client, XpStDocPtr c) { - XpScreenPtr pPrintScreen; - int result = Success; XpContextPtr pContext = c->pContext; if(c->pContext->state & JOB_GET_DATA && @@ -1619,10 +1617,8 @@ DoStartDoc(ClientPtr client, XpStDocPtr c) return TRUE; } - pPrintScreen = XpScreens[pContext->screenNum]; - if(pContext->funcs.StartDoc != 0) - result = pContext->funcs.StartDoc(pContext, c->type); + (void) pContext->funcs.StartDoc(pContext, c->type); else { SendErrorToClient(client, XpReqCode, X_PrintStartPage, 0, @@ -1682,7 +1678,6 @@ static int ProcXpEndDoc(ClientPtr client) { REQUEST(xPrintEndDocReq); - XpScreenPtr pPrintScreen; XpContextPtr pContext; int result = Success; @@ -1692,8 +1687,6 @@ ProcXpEndDoc(ClientPtr client) == (XpContextPtr)NULL) return XpErrorBase+XPBadSequence; - pPrintScreen = XpScreens[pContext->screenNum]; - if(!(pContext->state & DOC_RAW_STARTED) && !(pContext->state & DOC_COOKED_STARTED)) return XpErrorBase+XPBadSequence; @@ -1744,7 +1737,6 @@ DoStartPage( ClientPtr client, XpStPagePtr c) { - XpScreenPtr pPrintScreen; WindowPtr pWin = c->pWin; int result = Success; XpContextPtr pContext = c->pContext; @@ -1815,9 +1807,6 @@ DoStartPage( pPage->context = pContext; pContext->pageWin = c->pWin->drawable.id; - pPrintScreen = XpScreens[pContext->screenNum]; - - if(pContext->funcs.StartPage != 0) result = pContext->funcs.StartPage(pContext, pWin); else @@ -1884,7 +1873,6 @@ static int ProcXpEndPage(ClientPtr client) { REQUEST(xPrintEndPageReq); - XpScreenPtr pPrintScreen; int result = Success; XpContextPtr pContext; XpPagePtr page; @@ -1899,7 +1887,6 @@ ProcXpEndPage(ClientPtr client) if(!(pContext->state & PAGE_STARTED)) return XpErrorBase+XPBadSequence; - pPrintScreen = XpScreens[pContext->screenNum]; pWin = (WindowPtr )LookupIDByType(pContext->pageWin, RT_WINDOW); /* Call the ddx's EndPage proc. */ diff --git a/Xext/xres.c b/Xext/xres.c index ca670be24..c024f7be8 100644 --- a/Xext/xres.c +++ b/Xext/xres.c @@ -1,7 +1,7 @@ /* Copyright (c) 2002 XFree86 Inc */ -/* $XFree86: xc/programs/Xserver/Xext/xres.c,v 1.5 2002/07/01 02:25:55 tsi Exp $ */ +/* $XFree86: xc/programs/Xserver/Xext/xres.c,v 1.8 2003/10/28 23:08:44 tsi Exp $ */ #define NEED_EVENTS #define NEED_REPLIES @@ -14,10 +14,7 @@ #include "swaprep.h" #include "XResproto.h" #include "pixmapstr.h" - -extern RESTYPE lastResourceType; -extern RESTYPE TypeMask; -extern Atom *ResourceNames; +#include "modinit.h" static int ProcXResQueryVersion (ClientPtr client) @@ -30,6 +27,8 @@ ProcXResQueryVersion (ClientPtr client) client_major = stuff->client_major; client_minor = stuff->client_minor; + (void) client_major; + (void) client_minor; rep.type = X_Reply; rep.length = 0; @@ -314,11 +313,9 @@ SProcResDispatch (ClientPtr client) } void -ResExtensionInit(void) +ResExtensionInit(INITARGS) { - ExtensionEntry *extEntry; - - extEntry = AddExtension(XRES_NAME, 0, 0, + (void) AddExtension(XRES_NAME, 0, 0, ProcResDispatch, SProcResDispatch, ResResetProc, StandardMinorOpcode); diff --git a/Xext/xtest.c b/Xext/xtest.c index 47e7418d8..89bcae3a4 100644 --- a/Xext/xtest.c +++ b/Xext/xtest.c @@ -26,7 +26,7 @@ other dealings in this Software without prior written authorization from The Open Group. */ -/* $XFree86: xc/programs/Xserver/Xext/xtest.c,v 3.7 2001/12/14 19:58:51 dawes Exp $ */ +/* $XFree86: xc/programs/Xserver/Xext/xtest.c,v 3.11 2003/11/17 22:20:27 dawes Exp $ */ #include "X.h" #define NEED_EVENTS @@ -53,22 +53,27 @@ from The Open Group. #include "xf86_ansic.h" #endif +#include "modinit.h" + +#if 0 static unsigned char XTestReqCode; +#endif #ifdef XINPUT extern int DeviceValuator; #endif /* XINPUT */ +#ifdef PANORAMIX +#include "panoramiX.h" +#include "panoramiXsrv.h" +#endif + static void XTestResetProc( -#if NeedFunctionPrototypes ExtensionEntry * /* extEntry */ -#endif ); static int XTestSwapFakeInput( -#if NeedFunctionPrototypes ClientPtr /* client */, xReq * /* req */ -#endif ); static DISPATCH_PROC(ProcXTestCompareCursor); @@ -83,14 +88,20 @@ static DISPATCH_PROC(SProcXTestGetVersion); static DISPATCH_PROC(SProcXTestGrabControl); void -XTestExtensionInit() +XTestExtensionInit(INITARGS) { +#if 0 ExtensionEntry *extEntry; if ((extEntry = AddExtension(XTestExtensionName, 0, 0, ProcXTestDispatch, SProcXTestDispatch, XTestResetProc, StandardMinorOpcode)) != 0) XTestReqCode = (unsigned char)extEntry->base; +#else + (void) AddExtension(XTestExtensionName, 0, 0, + ProcXTestDispatch, SProcXTestDispatch, + XTestResetProc, StandardMinorOpcode); +#endif } /*ARGSUSED*/ @@ -378,6 +389,33 @@ ProcXTestFakeInput(client) client->errorValue = ev->u.u.detail; return BadValue; } + +#ifdef PANORAMIX + if (!noPanoramiXExtension) { + ScreenPtr pScreen = root->drawable.pScreen; + BoxRec box; + int i; + int x = ev->u.keyButtonPointer.rootX + panoramiXdataPtr[0].x; + int y = ev->u.keyButtonPointer.rootY + panoramiXdataPtr[0].y; + if (!POINT_IN_REGION(pScreen, &XineramaScreenRegions[pScreen->myNum], + x, y, &box)) { + FOR_NSCREENS(i) { + if (i == pScreen->myNum) continue; + if (POINT_IN_REGION(pScreen, + &XineramaScreenRegions[i], + x, y, &box)) { + root = WindowTable[i]; + x -= panoramiXdataPtr[i].x; + y -= panoramiXdataPtr[i].y; + ev->u.keyButtonPointer.rootX = x; + ev->u.keyButtonPointer.rootY = y; + break; + } + } + } + } +#endif + if (ev->u.keyButtonPointer.rootX < 0) ev->u.keyButtonPointer.rootX = 0; else if (ev->u.keyButtonPointer.rootX >= root->drawable.width) @@ -386,7 +424,15 @@ ProcXTestFakeInput(client) ev->u.keyButtonPointer.rootY = 0; else if (ev->u.keyButtonPointer.rootY >= root->drawable.height) ev->u.keyButtonPointer.rootY = root->drawable.height - 1; + +#ifdef PANORAMIX + if ((!noPanoramiXExtension + && root->drawable.pScreen->myNum != XineramaGetCursorScreen()) + || (noPanoramiXExtension && root != GetCurrentRootWindow())) + +#else if (root != GetCurrentRootWindow()) +#endif { NewCurrentScreen(root->drawable.pScreen, ev->u.keyButtonPointer.rootX, diff --git a/Xext/xtest1dd.c b/Xext/xtest1dd.c index 8a2b779be..41c78d9c9 100644 --- a/Xext/xtest1dd.c +++ b/Xext/xtest1dd.c @@ -52,7 +52,7 @@ Telephone and Telegraph Company or of the Regents of the University of California. */ -/* $XFree86: xc/programs/Xserver/Xext/xtest1dd.c,v 3.5 2001/12/14 19:58:52 dawes Exp $ */ +/* $XFree86: xc/programs/Xserver/Xext/xtest1dd.c,v 3.7 2003/11/17 22:20:28 dawes Exp $ */ /*************************************************************** * include files @@ -158,11 +158,6 @@ static xTestInputActionEvent input_action_packet; */ static int packet_index; /* - * set to 1 when the input action event is full and needs to be sent to the - * client - */ -static int input_action_event_full = 0; -/* * logical x position of the mouse during input action gathering */ short xtest_mousex; @@ -171,14 +166,6 @@ short xtest_mousex; */ short xtest_mousey; /* - * logical x position of the mouse during input action playback - */ -static short mx; -/* - * logical y position of the mouse during input action playback - */ -static short my; -/* * logical x position of the mouse while we are reading fake input actions * from the client and putting them into the fake input action array */ @@ -288,60 +275,38 @@ KeyCode xtest_command_key = 0; ***************************************************************/ static void parse_key_fake( -#if NeedFunctionPrototypes XTestKeyInfo * /* fkey */ -#endif ); static void parse_motion_fake( -#if NeedFunctionPrototypes XTestMotionInfo * /* fmotion */ -#endif ); static void parse_jump_fake( -#if NeedFunctionPrototypes XTestJumpInfo * /* fjump */ -#endif ); static void parse_delay_fake( -#if NeedFunctionPrototypes XTestDelayInfo * /* tevent */ -#endif ); static void send_ack( -#if NeedFunctionPrototypes ClientPtr /* client */ -#endif ); static void start_play_clock( -#if NeedFunctionPrototypes void -#endif ); static void compute_action_time( -#if NeedFunctionPrototypes struct timeval * /* rtime */ -#endif ); static int find_residual_time( -#if NeedFunctionPrototypes struct timeval * /* rtime */ -#endif ); static CARD16 check_time_event( -#if NeedFunctionPrototypes void -#endif ); static CARD32 current_ms( -#if NeedFunctionPrototypes struct timeval * /* otime */ -#endif ); static int there_is_room( -#if NeedFunctionPrototypes int /* actsize */ -#endif ); /****************************************************************************** @@ -471,7 +436,6 @@ flush_input_actions() /* * re-initialize the input action event */ - input_action_event_full = 0; input_action_packet.type = XTestInputActionType; packet_index = 0; } @@ -690,7 +654,6 @@ int actsize; { if ((packet_index + actsize) > XTestACTIONS_SIZE) { - input_action_event_full = 1; return(0); } else @@ -1316,8 +1279,6 @@ int mousex, mousey; action_array[read_index].x, action_array[read_index].y, action_array[read_index].device); - mx = action_array[read_index].x; - my = action_array[read_index].y; } if (action_array[read_index].type == XTestKEY_ACTION) { diff --git a/Xext/xtest1dd.h b/Xext/xtest1dd.h index 1b2fccdf4..6e258080e 100644 --- a/Xext/xtest1dd.h +++ b/Xext/xtest1dd.h @@ -1,4 +1,4 @@ -/* $XFree86: xc/programs/Xserver/Xext/xtest1dd.h,v 3.2 2001/08/01 00:44:44 tsi Exp $ */ +/* $XFree86: xc/programs/Xserver/Xext/xtest1dd.h,v 3.3 2003/11/17 22:20:28 dawes Exp $ */ /************************************************************ Copyright 1996 by Thomas E. Dickey <dickey@clark.net> @@ -35,117 +35,89 @@ extern ClientPtr playback_client; extern KeyCode xtest_command_key; extern void stop_stealing_input( -#if NeedFunctionPrototypes void -#endif ); extern void steal_input( -#if NeedFunctionPrototypes ClientPtr /* client */, CARD32 /* mode */ -#endif ); extern void flush_input_actions( -#if NeedFunctionPrototypes void -#endif ); extern void XTestStealJumpData( -#if NeedFunctionPrototypes int /* jx */, int /* jy */, int /* dev_type */ -#endif ); extern void XTestStealMotionData( -#if NeedFunctionPrototypes int /* dx */, int /* dy */, int /* dev_type */, int /* mx */, int /* my */ -#endif ); extern Bool XTestStealKeyData( -#if NeedFunctionPrototypes unsigned /* keycode */, int /* keystate */, int /* dev_type */, int /* locx */, int /* locy */ -#endif ); extern void parse_fake_input( -#if NeedFunctionPrototypes ClientPtr /* client */, char * /* req */ -#endif ); extern void XTestComputeWaitTime( -#if NeedFunctionPrototypes struct timeval * /* waittime */ -#endif ); extern int XTestProcessInputAction( -#if NeedFunctionPrototypes int /* readable */, struct timeval * /* waittime */ -#endif ); extern void abort_play_back( -#if NeedFunctionPrototypes void -#endif ); extern void return_input_array_size( -#if NeedFunctionPrototypes ClientPtr /* client */ -#endif ); extern void XTestGenerateEvent( -#if NeedFunctionPrototypes int /* dev_type */, int /* keycode */, int /* keystate */, int /* mousex */, int /* mousey */ -#endif ); extern void XTestGetPointerPos( -#if NeedFunctionPrototypes short * /* fmousex */, short * /* fmousey */ -#endif ); extern void XTestJumpPointer( -#if NeedFunctionPrototypes int /* jx */, int /* jy */, int /* dev_type */ -#endif ); #endif /* XTEST1DD_H */ diff --git a/Xext/xtest1di.c b/Xext/xtest1di.c index 43c1d58d1..539d14e30 100644 --- a/Xext/xtest1di.c +++ b/Xext/xtest1di.c @@ -52,7 +52,7 @@ Telephone and Telegraph Company or of the Regents of the University of California. */ -/* $XFree86: xc/programs/Xserver/Xext/xtest1di.c,v 3.3 2001/12/14 19:58:52 dawes Exp $ */ +/* $XFree86: xc/programs/Xserver/Xext/xtest1di.c,v 3.6 2003/11/17 22:20:28 dawes Exp $ */ /***************************************************************************** * include files @@ -72,6 +72,7 @@ University of California. #include "opaque.h" #define XTestSERVER_SIDE #include "xtestext1.h" +#include "modinit.h" #include "xtest1dd.h" @@ -80,23 +81,6 @@ University of California. ****************************************************************************/ /***************************************************************************** - * externals - ****************************************************************************/ - -/* - * id of client using XTestGetInput - * - * defined in xtest1dd.c - */ -extern ClientPtr current_xtest_client; -/* - * id of client using XTestFakeInput - * - * defined in xtest1dd.c - */ -extern ClientPtr playback_client; - -/***************************************************************************** * variables ****************************************************************************/ @@ -150,29 +134,21 @@ static DISPATCH_PROC(ProcTestQueryInputSize); static DISPATCH_PROC(SProcTestQueryInputSize); static void XTestResetProc( -#if NeedFunctionPrototypes ExtensionEntry * /* unused */ -#endif ); static void SReplyXTestDispatch( -#if NeedFunctionPrototypes ClientPtr /* client_ptr */, int /* size */, char * /* reply_ptr */ -#endif ); static void SEventXTestDispatch( -#if NeedFunctionPrototypes xEvent * /* from */, xEvent * /* to */ -#endif ); static int XTestCurrentClientGone( -#if NeedFunctionPrototypes pointer /* value */, XID /* id */ -#endif ); /***************************************************************************** @@ -186,7 +162,7 @@ static int XTestCurrentClientGone( * (other than the core errors). */ void -XTestExtension1Init() +XTestExtension1Init(INITARGS) { /* * holds the pointer to the extension entry structure diff --git a/Xext/xvdisp.c b/Xext/xvdisp.c index 3d321e8ae..40313470c 100644 --- a/Xext/xvdisp.c +++ b/Xext/xvdisp.c @@ -21,7 +21,7 @@ ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ******************************************************************/ -/* $XFree86: xc/programs/Xserver/Xext/xvdisp.c,v 1.25 2001/11/18 23:55:48 mvojkovi Exp $ */ +/* $XFree86: xc/programs/Xserver/Xext/xvdisp.c,v 1.29 2003/10/02 13:29:39 eich Exp $ */ /* ** File: @@ -70,6 +70,8 @@ SOFTWARE. #include "xf86_ansic.h" #endif +#include "xvdisp.h" + #ifdef PANORAMIX #include "panoramiX.h" #include "panoramiXsrv.h" @@ -1207,7 +1209,7 @@ ProcXvShmPutImage(ClientPtr client) #endif #ifdef XvMCExtension -XvImagePtr XvMCFindXvImage(XvPortPtr pPort, CARD32 id); +#include "xvmcext.h" #endif static int @@ -1939,8 +1941,7 @@ XineramaXvShmPutImage(ClientPtr client) client, stuff->port, XvXRTPort, SecurityReadAccess))) return _XvBadPort; - isRoot = (draw->type == XRT_WINDOW) && - (stuff->drawable == WindowTable[0]->drawable.id); + isRoot = (draw->type == XRT_WINDOW) && draw->u.win.root; x = stuff->drw_x; y = stuff->drw_y; @@ -1987,8 +1988,7 @@ XineramaXvPutImage(ClientPtr client) client, stuff->port, XvXRTPort, SecurityReadAccess))) return _XvBadPort; - isRoot = (draw->type == XRT_WINDOW) && - (stuff->drawable == WindowTable[0]->drawable.id); + isRoot = (draw->type == XRT_WINDOW) && draw->u.win.root; x = stuff->drw_x; y = stuff->drw_y; @@ -2033,8 +2033,7 @@ XineramaXvPutVideo(ClientPtr client) client, stuff->port, XvXRTPort, SecurityReadAccess))) return _XvBadPort; - isRoot = (draw->type == XRT_WINDOW) && - (stuff->drawable == WindowTable[0]->drawable.id); + isRoot = (draw->type == XRT_WINDOW) && draw->u.win.root; x = stuff->drw_x; y = stuff->drw_y; @@ -2079,8 +2078,7 @@ XineramaXvPutStill(ClientPtr client) client, stuff->port, XvXRTPort, SecurityReadAccess))) return _XvBadPort; - isRoot = (draw->type == XRT_WINDOW) && - (stuff->drawable == WindowTable[0]->drawable.id); + isRoot = (draw->type == XRT_WINDOW) && draw->u.win.root; x = stuff->drw_x; y = stuff->drw_y; diff --git a/Xext/xvmain.c b/Xext/xvmain.c index c6c10e544..2c3f484bd 100644 --- a/Xext/xvmain.c +++ b/Xext/xvmain.c @@ -21,7 +21,7 @@ ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ******************************************************************/ -/* $XFree86: xc/programs/Xserver/Xext/xvmain.c,v 1.13 2001/08/23 13:01:36 alanh Exp $ */ +/* $XFree86: xc/programs/Xserver/Xext/xvmain.c,v 1.16 2003/10/28 23:08:44 tsi Exp $ */ /* ** File: @@ -101,7 +101,7 @@ SOFTWARE. #ifdef PANORAMIX #include "panoramiX.h" #include "panoramiXsrv.h" -extern void XineramifyXv(void); +#include "xvdisp.h" #endif int XvScreenIndex = -1; @@ -594,6 +594,15 @@ XvdiSendPortNotify( } + +#define CHECK_SIZE(dw, dh, sw, sh) { \ + if(!dw || !dh || !sw || !sh) return Success; \ + /* The region code will break these if they are too large */ \ + if((dw > 32767) || (dh > 32767) || (sw > 32767) || (sh > 32767)) \ + return BadValue; \ +} + + int XvdiPutVideo( ClientPtr client, @@ -605,11 +614,9 @@ XvdiPutVideo( INT16 drw_x, INT16 drw_y, CARD16 drw_w, CARD16 drw_h ){ - int status; DrawablePtr pOldDraw; - if(!drw_w || !drw_h || !vid_w || !vid_h) - return Success; + CHECK_SIZE(drw_w, drw_h, vid_w, vid_h); /* UPDATE TIME VARIABLES FOR USE IN EVENTS */ @@ -633,7 +640,7 @@ XvdiPutVideo( XvdiSendVideoNotify(pPort, pPort->pDraw, XvPreempted); } - status = (* pPort->pAdaptor->ddPutVideo)(client, pDraw, pPort, pGC, + (void) (* pPort->pAdaptor->ddPutVideo)(client, pDraw, pPort, pGC, vid_x, vid_y, vid_w, vid_h, drw_x, drw_y, drw_w, drw_h); @@ -662,8 +669,7 @@ XvdiPutStill( ){ int status; - if(!drw_w || !drw_h || !vid_w || !vid_h) - return Success; + CHECK_SIZE(drw_w, drw_h, vid_w, vid_h); /* UPDATE TIME VARIABLES FOR USE IN EVENTS */ @@ -703,8 +709,7 @@ XvdiPutImage( Bool sync, CARD16 width, CARD16 height ){ - if(!drw_w || !drw_h || !src_w || !src_h) - return Success; + CHECK_SIZE(drw_w, drw_h, src_w, src_h); /* UPDATE TIME VARIABLES FOR USE IN EVENTS */ @@ -739,11 +744,9 @@ XvdiGetVideo( INT16 drw_x, INT16 drw_y, CARD16 drw_w, CARD16 drw_h ){ - int status; DrawablePtr pOldDraw; - if(!drw_w || !drw_h || !vid_w || !vid_h) - return Success; + CHECK_SIZE(drw_w, drw_h, vid_w, vid_h); /* UPDATE TIME VARIABLES FOR USE IN EVENTS */ @@ -767,7 +770,7 @@ XvdiGetVideo( XvdiSendVideoNotify(pPort, pPort->pDraw, XvPreempted); } - status = (* pPort->pAdaptor->ddGetVideo)(client, pDraw, pPort, pGC, + (void) (* pPort->pAdaptor->ddGetVideo)(client, pDraw, pPort, pGC, vid_x, vid_y, vid_w, vid_h, drw_x, drw_y, drw_w, drw_h); @@ -796,8 +799,7 @@ XvdiGetStill( ){ int status; - if(!drw_w || !drw_h || !vid_w || !vid_h) - return Success; + CHECK_SIZE(drw_w, drw_h, vid_w, vid_h); /* UPDATE TIME VARIABLES FOR USE IN EVENTS */ diff --git a/Xext/xvmc.c b/Xext/xvmc.c index 7e99e11a5..cb6c06301 100644 --- a/Xext/xvmc.c +++ b/Xext/xvmc.c @@ -1,4 +1,4 @@ -/* $XFree86: xc/programs/Xserver/Xext/xvmc.c,v 1.7 2001/11/18 23:55:48 mvojkovi Exp $ */ +/* $XFree86: xc/programs/Xserver/Xext/xvmc.c,v 1.9 2003/07/17 16:04:33 dawes Exp $ */ #define NEED_REPLIES #define NEED_EVENTS diff --git a/Xext/xvmcext.h b/Xext/xvmcext.h index b18a75511..b589c5487 100644 --- a/Xext/xvmcext.h +++ b/Xext/xvmcext.h @@ -1,4 +1,4 @@ -/* $XFree86: xc/programs/Xserver/Xext/xvmcext.h,v 1.1 2001/04/07 11:04:21 alanh Exp $ */ +/* $XFree86: xc/programs/Xserver/Xext/xvmcext.h,v 1.2 2003/07/17 16:04:33 dawes Exp $ */ #ifndef _XVMC_H #define _XVMC_H @@ -106,4 +106,6 @@ void XvMCExtensionInit(void); int XvMCScreenInit(ScreenPtr pScreen, int num, XvMCAdaptorPtr adapt); +XvImagePtr XvMCFindXvImage(XvPortPtr pPort, CARD32 id); + #endif /* _XVMC_H */ |