Lines Matching refs:app
106 XtAppContext app;
112 app = process->defaultAppContext;
114 return app;
118 AddToAppContext(Display *d, XtAppContext app)
122 if (app->count >= app->max) {
123 app->max = (short) (app->max + DISPLAYS_TO_ADD);
124 app->list = XtReallocArray(app->list,
125 (Cardinal) app->max,
129 app->list[app->count++] = d;
130 app->rebuild_fdlist = TRUE;
132 app->fds.nfds++;
134 if (ConnectionNumber(d) + 1 > app->fds.nfds) {
135 app->fds.nfds = ConnectionNumber(d) + 1;
142 XtDeleteFromAppContext(const Display *d, register XtAppContext app)
146 for (i = 0; i < app->count; i++)
147 if (app->list[i] == d)
150 if (i < app->count) {
151 if (i <= app->last && app->last > 0)
152 app->last--;
153 for (i++; i < app->count; i++)
154 app->list[i - 1] = app->list[i];
155 app->count--;
157 app->rebuild_fdlist = TRUE;
159 app->fds.nfds--;
161 if ((ConnectionNumber(d) + 1) == app->fds.nfds)
162 app->fds.nfds--;
164 FD_CLR(ConnectionNumber(d), &app->fds.rmask);
185 XtAppContext app,
191 AddToAppContext(dpy, app);
204 pd->appContext = app;
254 XtOpenDisplay(XtAppContext app,
267 LOCK_APP(app);
273 (app->process->globalLangProcRec.proc ?
313 pd = InitPerDisplay(d, app, applName, className);
322 app->display_name_tried = (_XtString) __XtMalloc((Cardinal) (len + 1));
323 strncpy((char *) app->display_name_tried, displayName,
325 app->display_name_tried[len] = '\0';
329 UNLOCK_APP(app);
380 XtDisplayInitialize(XtAppContext app,
392 LOCK_APP(app);
393 pd = InitPerDisplay(dpy, app, name, classname);
395 if (app->process->globalLangProcRec.proc)
403 UNLOCK_APP(app);
409 XtAppContext app = XtNew(XtAppStruct);
412 app->lock_info = NULL;
413 app->lock = NULL;
414 app->unlock = NULL;
415 app->yield_lock = NULL;
416 app->restore_lock = NULL;
417 app->free_lock = NULL;
419 INIT_APP_LOCK(app);
420 LOCK_APP(app);
422 app->process = _XtGetProcessContext();
423 app->next = app->process->appContextList;
424 app->process->appContextList = app;
425 app->langProcRec.proc = app->process->globalLangProcRec.proc;
426 app->langProcRec.closure = app->process->globalLangProcRec.closure;
427 app->destroy_callbacks = NULL;
428 app->list = NULL;
429 app->count = app->max = app->last = 0;
430 app->timerQueue = NULL;
431 app->workQueue = NULL;
432 app->signalQueue = NULL;
433 app->input_list = NULL;
434 app->outstandingQueue = NULL;
435 app->errorDB = NULL;
436 _XtSetDefaultErrorHandlers(&app->errorMsgHandler,
437 &app->warningMsgHandler, &app->errorHandler,
438 &app->warningHandler);
439 app->action_table = NULL;
440 _XtSetDefaultSelectionTimeout(&app->selectionTimeout);
441 _XtSetDefaultConverterTable(&app->converterTable);
442 app->sync = app->being_destroyed = app->error_inited = FALSE;
443 app->in_phase2_destroy = NULL;
445 FD_ZERO(&app->fds.rmask);
446 FD_ZERO(&app->fds.wmask);
447 FD_ZERO(&app->fds.emask);
449 app->fds.nfds = 0;
450 app->input_count = app->input_max = 0;
451 _XtHeapInit(&app->heap);
452 app->fallback_resources = NULL;
453 _XtPopupInitialize(app);
454 app->action_hook_list = NULL;
455 app->block_hook_list = NULL;
456 app->destroy_list_size = app->destroy_count = app->dispatch_level = 0;
457 app->destroy_list = NULL;
459 app->identify_windows = False;
461 app->free_bindings = NULL;
462 app->display_name_tried = NULL;
463 app->dpy_destroy_count = 0;
464 app->dpy_destroy_list = NULL;
465 app->exit_flag = FALSE;
466 app->rebuild_fdlist = TRUE;
468 UNLOCK_APP(app);
469 return app;
473 XtAppSetExitFlag(XtAppContext app)
475 LOCK_APP(app);
476 app->exit_flag = TRUE;
477 UNLOCK_APP(app);
481 XtAppGetExitFlag(XtAppContext app)
485 LOCK_APP(app);
486 retval = app->exit_flag;
487 UNLOCK_APP(app);
492 DestroyAppContext(XtAppContext app)
496 prev_app = &app->process->appContextList;
497 while (app->count-- > 0)
498 XtCloseDisplay(app->list[app->count]);
499 if (app->list != NULL)
500 XtFree((char *) app->list);
501 _XtFreeConverterTable(app->converterTable);
502 _XtCacheFlushTag(app, (XtPointer) &app->heap);
503 _XtFreeActions(app->action_table);
504 if (app->destroy_callbacks != NULL) {
506 (XtCallbackList) app->destroy_callbacks,
507 (XtPointer) app);
508 _XtRemoveAllCallbacks(&app->destroy_callbacks);
510 while (app->timerQueue)
511 XtRemoveTimeOut((XtIntervalId) app->timerQueue);
512 while (app->workQueue)
513 XtRemoveWorkProc((XtWorkProcId) app->workQueue);
514 while (app->signalQueue)
515 XtRemoveSignal((XtSignalId) app->signalQueue);
516 if (app->input_list)
517 _XtRemoveAllInputs(app);
518 XtFree((char *) app->destroy_list);
519 _XtHeapFree(&app->heap);
520 app)
522 *prev_app = app->next;
523 if (app->process->defaultAppContext == app)
524 app->process->defaultAppContext = NULL;
525 if (app->free_bindings)
526 _XtDoFreeBindings(app);
527 FREE_APP_LOCK(app);
528 XtFree((char *) app);
535 XtDestroyApplicationContext(XtAppContext app)
537 LOCK_APP(app);
538 if (app->being_destroyed) {
539 UNLOCK_APP(app);
543 if (_XtSafeToDestroy(app)) {
545 DestroyAppContext(app);
549 app->being_destroyed = TRUE;
555 appDestroyList[_XtAppDestroyCount - 1] = app;
557 UNLOCK_APP(app);
596 LOCK_APP(app);
598 UNLOCK_APP(app);
726 XtAppContext app = XtDisplayToApplicationContext(dpy);
728 LOCK_APP(app);
731 UNLOCK_APP(app);
735 if (_XtSafeToDestroy(app))
739 app->dpy_destroy_count++;
740 app->dpy_destroy_list = XtReallocArray(app->dpy_destroy_list,
741 (Cardinal) app->dpy_destroy_count,
743 app->dpy_destroy_list[app->dpy_destroy_count - 1] = dpy;
745 UNLOCK_APP(app);
749 _XtCloseDisplays(XtAppContext app)
753 LOCK_APP(app);
754 for (i = 0; i < app->dpy_destroy_count; i++) {
755 CloseDisplay(app->dpy_destroy_list[i]);
757 app->dpy_destroy_count = 0;
758 XtFree((char *) app->dpy_destroy_list);
759 app->dpy_destroy_list = NULL;
760 UNLOCK_APP(app);