]> git.decadent.org.uk Git - ion3.git/blobdiff - ioncore/group-ws.c
Update cfg_kludge_flash for Flash 10
[ion3.git] / ioncore / group-ws.c
index 3fd8cb765bd30577781dc8d57a736cf204a663a1..d7b74473e37cff9be5406e77d96dcb17da185d89 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * ion/ioncore/group-ws.c
  *
- * Copyright (c) Tuomo Valkonen 1999-2007
+ * Copyright (c) Tuomo Valkonen 1999-2009
  *
  * See the included file LICENSE for details.
  */
@@ -22,7 +22,6 @@
 #include "group-ws.h"
 #include "group-cw.h"
 #include "grouppholder.h"
-#include "groupedpholder.h"
 #include "framedpholder.h"
 #include "float-placement.h"
 #include "resize.h"
@@ -171,8 +170,21 @@ static WPHolder *groupws_do_prepare_manage(WGroupWS *ws,
     if(ph!=NULL)
         ph=pholder_either((WPHolder*)create_framedpholder(ph, &fp), ph);
     
-    if(ph!=NULL)
-        ph=pholder_either((WPHolder*)create_groupedpholder((WPHolder*)ph), ph);
+    if(ph!=NULL){
+        WGroupPHolder *gph;
+        WGroupAttachParams gp=GROUPATTACHPARAMS_INIT;
+        
+        gp.switchto_set=1;
+        gp.switchto=1;
+        gp.bottom=1;
+        
+        gph=create_grouppholder(NULL, NULL, &gp);
+        
+        if(gph!=NULL){
+            gph->recreate_pholder=ph;
+            return (WPHolder*)gph;
+        }
+    }
     
     return ph;
 }
@@ -256,27 +268,6 @@ WPHolder *groupws_prepare_manage_transient(WGroupWS *ws, const WClientWin *cwin,
 }
 
 
-WPHolder *groupws_get_rescue_pholder_for(WGroupWS *ws, 
-                                         WRegion *forwhat)
-{
-    WGroupAttachParams ap=GROUPATTACHPARAMS_INIT;
-    WFramedParam fp=FRAMEDPARAM_INIT;
-    WPHolder *ph;
-    
-    ap.geom_set=TRUE;
-    ap.geom=REGION_GEOM(forwhat);
-
-    ap.geom_weak_set=1;
-    ap.geom_weak=(REGION_PARENT(forwhat)!=REGION_PARENT(ws)
-                  ? REGION_RQGEOM_WEAK_X|REGION_RQGEOM_WEAK_Y
-                  : 0);
-
-    ph=(WPHolder*)create_grouppholder(&ws->grp, NULL, &ap);
-    
-    return pholder_either((WPHolder*)create_framedpholder(ph, &fp), ph);
-}
-
-
 static bool group_empty_for_bottom_stdisp(WGroup *ws)
 {
     WGroupIterTmp tmp;
@@ -294,10 +285,8 @@ static bool group_empty_for_bottom_stdisp(WGroup *ws)
 static WRegion *groupws_managed_disposeroot(WGroupWS *ws, WRegion *reg)
 {
     if(group_bottom(&ws->grp)==reg){
-        if(group_empty_for_bottom_stdisp(&ws->grp)){
-            WRegion *tmpr=region_disposeroot((WRegion*)ws);
-            return (tmpr!=NULL ? tmpr : reg);
-        }
+        if(group_empty_for_bottom_stdisp(&ws->grp))
+            return region_disposeroot((WRegion*)ws);
     }
     
     return reg;
@@ -364,9 +353,6 @@ static DynFunTab groupws_dynfuntab[]={
     {(DynFun*)region_handle_drop,
      (DynFun*)groupws_handle_drop},
     
-    {(DynFun*)region_get_rescue_pholder_for,
-     (DynFun*)groupws_get_rescue_pholder_for},
-    
     {region_manage_stdisp,
      group_manage_stdisp},