|
|
1.1 root 1: #include "copyright.h"
2:
3: /* $Header: XSendEvent.c,v 11.6 87/09/11 08:06:40 toddb Exp $ */
4: /* Copyright Massachusetts Institute of Technology 1986 */
5:
6: #define NEED_EVENTS
7: #include "Xlibint.h"
8:
9: extern _XEventToWire();
10: /*
11: * In order to avoid all images requiring _XEventToWire, we install the
12: * event converter here if it has never been installed.
13: */
14: XSendEvent(dpy, w, propagate, event_mask, event)
15: register Display *dpy;
16: Window w;
17: Bool propagate;
18: unsigned long event_mask; /* CARD32 */
19: XEvent *event;
20: {
21: register xSendEventReq *req;
22: xEvent ev;
23: register (**fp)();
24:
25: LockDisplay (dpy);
26: GetReq(SendEvent, req);
27: req->destination = w;
28: req->propagate = propagate;
29: req->eventMask = event_mask;
30:
31: /* call through display to find proper conversion routine */
32:
33: fp = &dpy->wire_vec[event->type & 0177];
34: if (*fp == NULL) *fp = _XEventToWire;
35: (**fp)(dpy, event, &ev);
36: req->event = ev;
37:
38: UnlockDisplay(dpy);
39: SyncHandle();
40: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.