Пример #1
0
/*EXTL_DOC
 * Iterate over focus history until \var{iterfn} returns \code{false}.
 * The function is called in protected mode.
 * This routine returns \code{true} if it reaches the end of list
 * without this happening.
 */
EXTL_EXPORT
bool ioncore_focushistory_i(ExtlFn iterfn)
{
    WRegion *next;
    
    if(ioncore_g.focuslist==NULL)
        return FALSE;
    
    /* We're trying to access the focus list from lua (likely from the UI). I
     * thus force any pending focuslist updates to complete now */
    region_focuslist_awaiting_insertion_trigger();

    /* Find the first region on focus history list that isn't currently
     * active.
     */
    for(next=ioncore_g.focuslist->active_next;
        next!=NULL; 
        next=next->active_next){
        
        if(!extl_iter_obj(iterfn, (Obj*)next))
            return FALSE;
    }
    
    return TRUE;
}
Пример #2
0
bool extl_iter_objlist_(ExtlFn fn, ObjIterator *iter, void *st)
{
    Obj *obj;

    while(1){
        obj=iter(st);
        if(obj==NULL)
            break;
        if(!extl_iter_obj(fn, obj))
            return FALSE;
    }

    return TRUE;
}