]> git.decadent.org.uk Git - ion3.git/blobdiff - mod_tiling/tiling.c
[svn-upgrade] Integrating new upstream version, ion3 (20070203)
[ion3.git] / mod_tiling / tiling.c
index 2ab56b01c11cddc2cbadac90b71b66eb29d45738..159f001a0a9af20f7980469f19dc9f3fc0ae10f1 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * ion/mod_tiling/tiling.c
  *
- * Copyright (c) Tuomo Valkonen 1999-2006
+ * Copyright (c) Tuomo Valkonen 1999-2007
  *
  * Ion is free software; you can redistribute it and/or modify it under
  * the terms of the GNU Lesser General Public License as published by
@@ -731,7 +731,7 @@ void tiling_managed_remove(WTiling *ws, WRegion *reg)
     
     if(!ds){
         if(other==NULL)
-            mainloop_defer_destroy((Obj*)ws);
+            region_dispose((WRegion*)ws, mcf);
         else if(act && mcf)
             region_warp(other);
     }
@@ -1125,17 +1125,20 @@ WRegion *tiling_current(WTiling *ws)
 
 
 /*EXTL_DOC
- * Returns a list of regions managed by the workspace (frames, mostly).
+ * 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
+ * without this happening.
  */
 EXTL_SAFE
 EXTL_EXPORT_MEMBER
-ExtlTab tiling_managed_list(WTiling *ws)
+bool tiling_managed_i(WTiling *ws, ExtlFn iterfn)
 {
     PtrListIterTmp tmp;
     
     ptrlist_iter_init(&tmp, ws->managed_list);
     
-    return extl_obj_iterable_to_table((ObjIterator*)ptrlist_iter, &tmp);
+    return extl_iter_objlist_(iterfn, (ObjIterator*)ptrlist_iter, &tmp);
 }