Lines Matching refs:dpy
43 int (*_XInitDisplayLock_fn)(Display *dpy) = NULL;
44 void (*_XFreeDisplayLock_fn)(Display *dpy) = NULL;
57 static void OutOfMemory(Display *dpy);
67 register Display *dpy; /* New Display object being created. */
115 if ((dpy = Xcalloc(1, sizeof(Display))) == NULL) {
119 if ((dpy->display_name = strdup(display_name)) == NULL) {
120 OutOfMemory(dpy);
129 if(!_XConnectXCB(dpy, display, &iscreen)) {
130 OutOfMemory(dpy);
138 dpy->keysyms = (KeySym *) NULL;
139 dpy->modifiermap = NULL;
140 dpy->lock_meaning = NoSymbol;
141 dpy->keysyms_per_keycode = 0;
142 dpy->xdefaults = (char *)NULL;
143 dpy->scratch_length = 0L;
144 dpy->scratch_buffer = NULL;
145 dpy->key_bindings = NULL;
146 dpy->ext_procs = (_XExtension *)NULL;
147 dpy->ext_data = (XExtData *)NULL;
148 dpy->ext_number = 0;
149 dpy->event_vec[X_Error] = _XUnknownWireEvent;
150 dpy->event_vec[X_Reply] = _XUnknownWireEvent;
151 dpy->wire_vec[X_Error] = _XUnknownNativeEvent;
152 dpy->wire_vec[X_Reply] = _XUnknownNativeEvent;
154 dpy->event_vec[i] = _XWireToEvent;
155 dpy->wire_vec[i] = NULL;
158 dpy->event_vec[i] = _XUnknownWireEvent;
159 dpy->wire_vec[i] = _XUnknownNativeEvent;
161 dpy->resource_id = 0;
162 dpy->db = (struct _XrmHashBucketRec *)NULL;
163 dpy->cursor_font = None;
164 dpy->flags = 0;
165 dpy->async_handlers = NULL;
166 dpy->screens = NULL;
167 dpy->vendor = NULL;
168 dpy->buffer = NULL;
169 dpy->atoms = NULL;
170 dpy->error_vec = NULL;
171 dpy->context_db = NULL;
172 dpy->free_funcs = NULL;
173 dpy->pixmap_format = NULL;
174 dpy->cms.clientCmaps = NULL;
175 dpy->cms.defaultCCCs = NULL;
176 dpy->cms.perVisualIntensityMaps = NULL;
177 dpy->im_filters = NULL;
178 dpy->bigreq_size = 0;
179 dpy->lock = NULL;
180 dpy->lock_fns = NULL;
181 dpy->qfree = NULL;
182 dpy->next_event_serial_num = 1;
183 dpy->im_fd_info = NULL;
184 dpy->im_fd_length = 0;
185 dpy->conn_watchers = NULL;
186 dpy->watcher_count = 0;
187 dpy->filedes = NULL;
188 dpy->flushes = NULL;
189 dpy->xcmisc_opcode = 0;
190 dpy->xkb_info = NULL;
191 dpy->exit_handler_data = NULL;
192 dpy->in_ifevent = 0;
197 dpy->vnumber = X_PROTOCOL;
198 dpy->resource_alloc = _XAllocID;
199 dpy->idlist_alloc = _XAllocIDs;
200 dpy->synchandler = NULL;
201 dpy->savedsynchandler = NULL;
202 X_DPY_SET_REQUEST(dpy, 0);
203 X_DPY_SET_LAST_REQUEST_READ(dpy, 0);
204 dpy->default_screen = iscreen; /* Value returned by ConnectDisplay */
205 dpy->last_req = (char *)&_dummy_request;
206 dpy->error_threads = NULL;
207 dpy->exit_handler = _XDefaultIOErrorExit;
210 if (InitDisplayLock(dpy) != 0) {
211 OutOfMemory (dpy);
215 if (!_XPollfdCacheInit(dpy)) {
216 OutOfMemory (dpy);
241 if ((dpy->bufptr = dpy->buffer = Xcalloc(1, conn_buf_size)) == NULL) {
242 OutOfMemory (dpy);
245 dpy->xcb->real_bufmax = dpy->buffer + conn_buf_size;
246 dpy->bufmax = dpy->buffer;
249 dpy->head = dpy->tail = NULL;
250 dpy->qlen = 0;
253 if ((dpy->free_funcs = Xcalloc(1, sizeof(_XFreeFuncRec))) == NULL) {
254 OutOfMemory (dpy);
259 const struct xcb_setup_t *xcbsetup = xcb_get_setup(dpy->xcb->connection);
273 OutOfMemory(dpy);
281 dpy->proto_major_version= prefix.majorVersion;
282 dpy->proto_minor_version= prefix.minorVersion;
283 dpy->release = u.setup->release;
284 dpy->resource_base = u.setup->ridBase;
285 dpy->resource_mask = u.setup->ridMask;
286 dpy->min_keycode = u.setup->minKeyCode;
287 dpy->max_keycode = u.setup->maxKeyCode;
288 dpy->motion_buffer = u.setup->motionBufferSize;
289 dpy->nformats = u.setup->numFormats;
290 dpy->nscreens = u.setup->numRoots;
291 dpy->byte_order = u.setup->imageByteOrder;
292 dpy->bitmap_unit = u.setup->bitmapScanlineUnit;
293 dpy->bitmap_pad = u.setup->bitmapScanlinePad;
294 dpy->bitmap_bit_order = u.setup->bitmapBitOrder;
295 dpy->max_request_size = u.setup->maxRequestSize;
296 mask = dpy->resource_mask;
297 dpy->resource_shift = 0;
301 dpy->display_name);
302 OutOfMemory(dpy);
307 dpy->resource_shift++;
310 dpy->resource_max = (dpy->resource_mask >> dpy->resource_shift) - 5;
317 OutOfMemory(dpy);
321 dpy->vendor = Xmalloc(u.setup->nbytesVendor + 1);
322 if (dpy->vendor == NULL) {
323 OutOfMemory(dpy);
334 OutOfMemory(dpy);
339 (void) strncpy(dpy->vendor, u.vendor, (size_t) vendorlen);
340 dpy->vendor[vendorlen] = '\0';
347 dpy->pixmap_format = Xcalloc(dpy->nformats, sizeof(ScreenFormat));
348 if (dpy->pixmap_format == NULL) {
349 OutOfMemory (dpy);
355 usedbytes += dpy->nformats * sz_xPixmapFormat;
359 OutOfMemory (dpy);
363 for (i = 0; i < dpy->nformats; i++) {
364 register ScreenFormat *fmt = &dpy->pixmap_format[i];
375 dpy->screens = Xcalloc(dpy->nscreens, sizeof(Screen));
376 if (dpy->screens == NULL) {
377 OutOfMemory (dpy);
384 for (i = 0; i < dpy->nscreens; i++) {
385 register Screen *sp = &dpy->screens[i];
391 OutOfMemory (dpy);
396 sp->display = dpy;
419 OutOfMemory (dpy);
431 OutOfMemory (dpy);
441 OutOfMemory (dpy);
450 OutOfMemory (dpy);
475 sp->root_visual = _XVIDtoVisual(dpy, root_visualID);
477 OutOfMemory(dpy);
487 OutOfMemory(dpy);
498 if (iscreen >= dpy->nscreens) {
499 OutOfMemory(dpy);
506 dpy->bigreq_size = xcb_get_maximum_request_length(dpy->xcb->connection);
507 if(dpy->bigreq_size <= dpy->max_request_size)
508 dpy->bigreq_size = 0;
513 for (i = 0; i < dpy->nscreens; i++) {
514 register Screen *sp = &dpy->screens[i];
518 if ((sp->default_gc = XCreateGC (dpy, sp->root,
521 OutOfMemory(dpy);
529 (void) XSynchronize(dpy, _Xdebug);
534 LockDisplay(dpy);
540 req->window = RootWindow(dpy, 0);
547 if (_XReply (dpy, (xReply *) &reply, 0, xFalse)) {
551 (dpy->xdefaults = Xmalloc (reply.nItems + 1))) {
552 _XReadPad (dpy, dpy->xdefaults, reply.nItems);
553 dpy->xdefaults[reply.nItems] = '\0';
556 _XEatDataWords(dpy, reply.length);
559 UnlockDisplay(dpy);
564 _XHeadOfDisplayList = dpy;
568 XkbUseExtension(dpy,NULL,NULL);
573 return(dpy);
585 void _XFreeDisplayStructure(Display *dpy)
588 if (dpy->qfree) {
589 _XQEvent *qelt = dpy->qfree;
591 if (_XIsEventCookie(dpy, &qelt->event))
592 _XStoreEventCookie(dpy, &qelt->event);
596 if (dpy->cookiejar)
597 _XFreeEventCookies(dpy);
598 while (dpy->ext_procs) {
599 _XExtension *ext = dpy->ext_procs;
600 dpy->ext_procs = ext->next;
604 if (dpy->im_filters)
605 (*dpy->free_funcs->im_filters)(dpy);
606 if (dpy->cms.clientCmaps)
607 (*dpy->free_funcs->clientCmaps)(dpy);
608 if (dpy->cms.defaultCCCs)
609 (*dpy->free_funcs->defaultCCCs)(dpy);
610 if (dpy->cms.perVisualIntensityMaps)
611 (*dpy->free_funcs->intensityMaps)(dpy);
612 if (dpy->atoms)
613 (*dpy->free_funcs->atoms)(dpy);
614 if (dpy->modifiermap)
615 (*dpy->free_funcs->modifiermap)(dpy->modifiermap);
616 if (dpy->key_bindings)
617 (*dpy->free_funcs->key_bindings)(dpy);
618 if (dpy->context_db)
619 (*dpy->free_funcs->context_db)(dpy);
620 if (dpy->xkb_info)
621 (*dpy->free_funcs->xkb)(dpy);
624 if (dpy->db && (dpy->flags & XlibDisplayDfltRMDB))
625 XrmDestroyDatabase(dpy->db);
627 if (dpy->screens) {
630 for (i = 0; i < dpy->nscreens; i++) {
631 Screen *sp = &dpy->screens[i];
654 Xfree (dpy->screens);
657 if (dpy->pixmap_format) {
660 for (i = 0; i < dpy->nformats; i++)
661 _XFreeExtData (dpy->pixmap_format[i].ext_data);
662 Xfree (dpy->pixmap_format);
665 free(dpy->display_name);
667 Xfree (dpy->vendor);
668 Xfree (dpy->buffer);
669 Xfree (dpy->keysyms);
670 Xfree (dpy->xdefaults);
671 Xfree (dpy->error_vec);
673 _XFreeExtData (dpy->ext_data);
675 Xfree (dpy->free_funcs);
676 Xfree (dpy->scratch_buffer);
677 FreeDisplayLock(dpy);
679 if (dpy->qfree) {
680 register _XQEvent *qelt = dpy->qfree;
688 while (dpy->im_fd_info) {
689 struct _XConnectionInfo *conni = dpy->im_fd_info;
690 dpy->im_fd_info = conni->next;
694 if (dpy->conn_watchers) {
695 struct _XConnWatchInfo *watcher = dpy->conn_watchers;
696 dpy->conn_watchers = watcher->next;
700 Xfree (dpy->filedes);
702 _XFreeX11XCBStructure(dpy);
704 Xfree (dpy);
710 static void OutOfMemory(Display *dpy)
712 xcb_connection_t *connection = dpy->xcb->connection;
714 _XFreeDisplayStructure (dpy);