static void XkbSetRulesUsed(XkbRMLVOSet *rmlvo) { free(XkbRulesUsed); XkbRulesUsed= (rmlvo->rules?Xstrdup(rmlvo->rules):NULL); free(XkbModelUsed); XkbModelUsed= (rmlvo->model?Xstrdup(rmlvo->model):NULL); free(XkbLayoutUsed); XkbLayoutUsed= (rmlvo->layout?Xstrdup(rmlvo->layout):NULL); free(XkbVariantUsed); XkbVariantUsed= (rmlvo->variant?Xstrdup(rmlvo->variant):NULL); free(XkbOptionsUsed); XkbOptionsUsed= (rmlvo->options?Xstrdup(rmlvo->options):NULL); if (XkbWantRulesProp) QueueWorkProc(XkbWriteRulesProp,NULL,NULL); return; }
void XkbSetRulesUsed(XkbRF_VarDefsPtr defs) { if (XkbModelUsed) _XkbFree(XkbModelUsed); XkbModelUsed= (defs->model?_XkbDupString(defs->model):NULL); if (XkbLayoutUsed) _XkbFree(XkbLayoutUsed); XkbLayoutUsed= (defs->layout?_XkbDupString(defs->layout):NULL); if (XkbVariantUsed) _XkbFree(XkbVariantUsed); XkbVariantUsed= (defs->variant?_XkbDupString(defs->variant):NULL); if (XkbOptionsUsed) _XkbFree(XkbOptionsUsed); XkbOptionsUsed= (defs->options?_XkbDupString(defs->options):NULL); if (XkbWantRulesProp) QueueWorkProc(XkbWriteRulesProp,NULL,NULL); return; }
static void ephyrScreenBlockHandler(ScreenPtr pScreen, void *timeout) { KdScreenPriv(pScreen); KdScreenInfo *screen = pScreenPriv->screen; EphyrScrPriv *scrpriv = screen->driver; pScreen->BlockHandler = scrpriv->BlockHandler; (*pScreen->BlockHandler)(pScreen, timeout); scrpriv->BlockHandler = pScreen->BlockHandler; pScreen->BlockHandler = ephyrScreenBlockHandler; if (scrpriv->pDamage) ephyrInternalDamageRedisplay(pScreen); if (hostx_has_queued_event()) { if (!QueueWorkProc(ephyrEventWorkProc, NULL, NULL)) FatalError("cannot queue event processing in ephyr block handler"); AdjustWaitForDelay(timeout, 0); } }