/*
* ion/ioncore/attach.c
*
- * Copyright (c) Tuomo Valkonen 1999-2007.
+ * Copyright (c) Tuomo Valkonen 1999-2008.
*
* See the included file LICENSE for details.
*/
}
-static WRegion *wrap_load(WWindow *par, const WFitParams *fp,
- ExtlTab *tab)
+typedef struct{
+ ExtlTab tab;
+ WPHolder **sm_ph_p;
+} WLP;
+
+static WRegion *wrap_load(WWindow *par, const WFitParams *fp, WLP *p)
{
- return create_region_load(par, fp, *tab);
+ return create_region_load(par, fp, p->tab, p->sm_ph_p);
}
static WRegion *doit_load(WRegion *mgr,
WWindow *par, const WFitParams *fp,
WRegionDoAttachFn *cont, void *cont_param,
- ExtlTab tab)
+ ExtlTab tab, WPHolder **sm_ph)
{
WRegion *reg=NULL;
if(reg!=NULL){
return doit_reparent(mgr, par, fp, cont, cont_param, reg);
}else{
+ WLP p;
+ p.tab=tab;
+ p.sm_ph_p=sm_ph;
+
return doit_new(mgr, par, fp, cont, cont_param,
- (WRegionCreateFn*)wrap_load, &tab);
+ (WRegionCreateFn*)wrap_load, &p);
}
}
+
+WRegion *region_attach_load_helper(WRegion *mgr,
+ WWindow *par, const WFitParams *fp,
+ WRegionDoAttachFn *fn, void *fn_param,
+ ExtlTab tab, WPHolder **sm_ph)
+{
+ return doit_load(mgr, par, fp, fn, fn_param, tab, sm_ph);
+}
+
+
WRegion *region_attach_helper(WRegion *mgr,
WWindow *par, const WFitParams *fp,
WRegionDoAttachFn *fn, void *fn_param,
return doit_new(mgr, par, fp, fn, fn_param,
data->u.n.fn, data->u.n.param);
}else if(data->type==REGION_ATTACH_LOAD){
- return doit_load(mgr, par, fp, fn, fn_param, data->u.tab);
+ return doit_load(mgr, par, fp, fn, fn_param, data->u.tab, NULL);
}else if(data->type==REGION_ATTACH_REPARENT){
return doit_reparent(mgr, par, fp, fn, fn_param, data->u.reg);
}else{