]> git.decadent.org.uk Git - ion3.git/blobdiff - ioncore/attach.c
Update cfg_kludge_flash for Flash 10
[ion3.git] / ioncore / attach.c
index 5d81222a97663e6a1e05eba06b183cb0b818c02b..0ee74ab01743ba24a9b856fb3d2368f352e2c0eb 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * ion/ioncore/attach.c
  *
- * Copyright (c) Tuomo Valkonen 1999-2007
+ * Copyright (c) Tuomo Valkonen 1999-2009
  *
  * See the included file LICENSE for details.
  */
@@ -116,10 +116,14 @@ static WRegion *doit_reparent(WRegion *mgr,
 }
 
 
-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);
 }
 
 
@@ -129,7 +133,7 @@ WRegion *ioncore_newly_created=NULL;
 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;
     
@@ -145,11 +149,25 @@ static WRegion *doit_load(WRegion *mgr,
     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,
@@ -159,7 +177,7 @@ WRegion *region_attach_helper(WRegion *mgr,
         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{