XtAppContext _XtDefaultAppContext() { register ProcessContext process = _XtGetProcessContext(); if (process->defaultAppContext == NULL) { process->defaultAppContext = XtCreateApplicationContext(); } return process->defaultAppContext; }
XtLanguageProc XtSetLanguageProc( XtAppContext app, XtLanguageProc proc, XtPointer closure) { XtLanguageProc old; if (!proc) { proc = _XtDefaultLanguageProc; closure = NULL; } if (app) { LOCK_APP(app); LOCK_PROCESS; /* set langProcRec only for this application context */ old = app->langProcRec.proc; app->langProcRec.proc = proc; app->langProcRec.closure = closure; UNLOCK_PROCESS; UNLOCK_APP(app); } else { /* set langProcRec for all application contexts */ ProcessContext process; LOCK_PROCESS; process = _XtGetProcessContext(); old = process->globalLangProcRec.proc; process->globalLangProcRec.proc = proc; process->globalLangProcRec.closure = closure; app = process->appContextList; while (app) { app->langProcRec.proc = proc; app->langProcRec.closure = closure; app = app->next; } UNLOCK_PROCESS; } return (old ? old : _XtDefaultLanguageProc); }