Beispiel #1
0
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;
}
Beispiel #2
0
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;
}
Beispiel #3
0
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);
    }
}