[xlibs-commit] X11/src OpenDis.c,3.19.2.1,3.19.2.2
Jamey Sharp
xlibs-commit@pdx.freedesktop.org
Wed, 19 Nov 2003 17:37:16 -0800
Committed by: jamey
Update of /cvs/xlibs/X11/src
In directory pdx:/tmp/cvs-serv8897/src
Modified Files:
Tag: XCL
OpenDis.c
Log Message:
XCB enables BigReq; removed now-duplicate BigReqEnable from XOpenDisplay.
Index: OpenDis.c
===================================================================
RCS file: /cvs/xlibs/X11/src/OpenDis.c,v
retrieving revision 3.19.2.1
retrieving revision 3.19.2.2
diff -u -d -r3.19.2.1 -r3.19.2.2
--- OpenDis.c 13 Nov 2003 19:28:34 -0000 3.19.2.1
+++ OpenDis.c 20 Nov 2003 01:37:13 -0000 3.19.2.2
@@ -34,26 +34,12 @@
#include "xclint.h"
#include <X11/Xatom.h>
#include <X11/Xresource.h>
-#include <X11/extensions/bigreqstr.h>
#include <stdio.h>
#ifdef XKB
#include "XKBlib.h"
#endif /* XKB */
-#ifdef X_NOT_POSIX
-#define Size_t unsigned int
-#else
-#define Size_t size_t
-#endif
-
-#define bignamelen (sizeof(XBigReqExtensionName) - 1)
-
-typedef struct {
- unsigned long seq;
- int opcode;
-} _XBigReqState;
-
#ifdef WIN32
int *_Xdebug_p = &_Xdebug;
#endif
@@ -78,8 +64,6 @@
static void OutOfMemory(Display *dpy);
void _XFreeDisplayStructure(Display *dpy);
-static Bool _XBigReqHandler(Display *dpy, xReply *rep, char *buf, int len,
- XPointer data);
void XSetAuthorization(char *name, int namelen, char *data, int datalen)
{
@@ -389,7 +373,7 @@
dpy->idlist_alloc = _XAllocIDs;
dpy->synchandler = NULL;
dpy->savedsynchandler = NULL;
- dpy->request = 0;
+ dpy->request = c->seqnum; /* keep in sync with XCB */
dpy->last_request_read = 0;
dpy->default_screen = iscreen; /* Value returned by ConnectDisplay */
dpy->last_req = (char *)&_dummy_request;
@@ -518,24 +502,8 @@
*/
LockDisplay(dpy);
{
- _XAsyncHandler async;
- _XBigReqState async_state;
- xQueryExtensionReq *qreq;
xGetPropertyReply reply;
xGetPropertyReq *req;
- xBigReqEnableReq *breq;
- xBigReqEnableReply brep;
-
- GetReq(QueryExtension, qreq);
- async_state.seq = dpy->request;
- async_state.opcode = 0;
- async.next = dpy->async_handlers;
- async.handler = _XBigReqHandler;
- async.data = (XPointer)&async_state;
- dpy->async_handlers = &async;
- qreq->nbytes = bignamelen;
- qreq->length += (bignamelen+3)>>2;
- Data(dpy, XBigReqExtensionName, bignamelen);
GetReq (GetProperty, req);
req->window = RootWindow(dpy, 0);
@@ -556,15 +524,12 @@
else if (reply.propertyType != None)
_XEatData(dpy, reply.nItems * (reply.format >> 3));
}
- DeqAsyncHandler(dpy, &async);
- if (async_state.opcode) {
- GetReq(BigReqEnable, breq);
- breq->reqType = async_state.opcode;
- breq->brReqType = X_BigReqEnable;
- if (_XReply(dpy, (xReply *)&brep, 0, xFalse))
- dpy->bigreq_size = brep.max_request_size;
- }
}
+
+ dpy->bigreq_size = XCBMaximumRequestLength(c);
+ if(dpy->bigreq_size <= dpy->max_request_size)
+ dpy->bigreq_size = 0;
+
UnlockDisplay(dpy);
#ifdef MOTIFBC
@@ -582,32 +547,6 @@
return(dpy);
}
-static Bool
-_XBigReqHandler(dpy, rep, buf, len, data)
- register Display *dpy;
- register xReply *rep;
- char *buf;
- int len;
- XPointer data;
-{
- _XBigReqState *state;
- xQueryExtensionReply replbuf;
- xQueryExtensionReply *repl;
-
- state = (_XBigReqState *)data;
- if (dpy->last_request_read != state->seq)
- return False;
- if (rep->generic.type == X_Error)
- return True;
- repl = (xQueryExtensionReply *)
- _XGetAsyncReply(dpy, (char *)&replbuf, rep, buf, len,
- (SIZEOF(xQueryExtensionReply) - SIZEOF(xReply)) >> 2,
- True);
- if (repl->present)
- state->opcode = repl->major_opcode;
- return True;
-}
-
/* XFreeDisplayStructure frees all the storage associated with a
* Display. It is used by XOpenDisplay if it runs out of memory,