]> git.decadent.org.uk Git - ion3.git/blobdiff - mod_tiling/tiling.c
Imported Upstream version 20090110
[ion3.git] / mod_tiling / tiling.c
index e3d706d59cd2d96db62d0c878991e43519e97756..48bbb86f506a3976f57258831660bb12a4710544 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * ion/mod_tiling/tiling.c
  *
- * Copyright (c) Tuomo Valkonen 1999-2007
+ * Copyright (c) Tuomo Valkonen 1999-2009
  *
  * See the included file LICENSE for details.
  */
@@ -478,8 +478,7 @@ bool tiling_managed_add_default(WTiling *ws, WRegion *reg)
     
     frame=OBJ_CAST(reg, WFrame);
     if(frame!=NULL){
-        WFrameMode mode=frame_mode(frame);
-        if(mode!=FRAME_MODE_TILED && mode!=FRAME_MODE_TILED_ALT)
+        if(framemode_unalt(frame_mode(frame))!=FRAME_MODE_TILED)
             frame_set_mode(frame, FRAME_MODE_TILED);
     }
     
@@ -993,10 +992,6 @@ static WFrame *tiling_do_split(WTiling *ws, WSplit *node,
         destroy_obj((Obj*)newframe);
         return NULL;
     }
-
-    /* Restack */
-    if(ws->split_tree!=NULL)
-        split_restack(ws->split_tree, ws->dummywin, Above);
     
     return newframe;
 }
@@ -1086,7 +1081,7 @@ void tiling_unsplit_at(WTiling *ws, WRegion *reg)
     ph=region_get_rescue_pholder_for((WRegion*)ws, reg);
     
     if(ph!=NULL){
-        region_rescue(reg, ph);
+        region_rescue(reg, ph, REGION_RESCUE_NODEEP|REGION_RESCUE_PHFLAGS_OK);
         destroy_obj((Obj*)ph);
     }
     
@@ -1114,7 +1109,8 @@ WRegion *tiling_current(WTiling *ws)
 /*EXTL_DOC
  * Iterate over managed regions of \var{ws} until \var{iterfn} returns
  * \code{false}.
- * The function itself returns \code{true} if it reaches the end of list
+ * The function is called in protected mode.
+ * This routine returns \code{true} if it reaches the end of list
  * without this happening.
  */
 EXTL_SAFE