diff --git a/Plugin/DecomposeInSimplex.cpp b/Plugin/DecomposeInSimplex.cpp
index ccfbb12185de2dad8bd0c1f21e5c64f03b4435b0..a3629bcdd472eea38c7f8088b9215f3ab6eac460 100644
--- a/Plugin/DecomposeInSimplex.cpp
+++ b/Plugin/DecomposeInSimplex.cpp
@@ -1,4 +1,4 @@
-// $Id: DecomposeInSimplex.cpp,v 1.6 2003-11-29 01:38:54 geuzaine Exp $
+// $Id: DecomposeInSimplex.cpp,v 1.7 2003-11-29 19:55:25 geuzaine Exp $
 //
 // Copyright (C) 1997-2003 C. Geuzaine, J.-F. Remacle
 //
@@ -83,7 +83,7 @@ void GMSH_DecomposeInSimplexPlugin::catchErrorMessage(char *errorMessage) const
 }
 
 static void decomposeList(Post_View *v, int nbNod, int nbComp,
-			  List_T *listIn, int *nbIn, List_T *listOut, int *nbOut)
+			  List_T **listIn, int *nbIn, List_T *listOut, int *nbOut)
 {
   double xNew[4], yNew[4], zNew[4];
   double *valNew = new double[v->NbTimeStep * nbComp * nbNod];
@@ -94,12 +94,12 @@ static void decomposeList(Post_View *v, int nbNod, int nbComp,
 
   v->Changed = 1;
 
-  int nb = List_Nbr(listIn) / (*nbIn);
-  for(int i = 0; i < List_Nbr(listIn); i += nb){
-    double *x = (double *)List_Pointer(listIn, i);
-    double *y = (double *)List_Pointer(listIn, i + nbNod);
-    double *z = (double *)List_Pointer(listIn, i + 2 * nbNod);
-    double *val = (double *)List_Pointer(listIn, i + 3 * nbNod); 
+  int nb = List_Nbr(*listIn) / (*nbIn);
+  for(int i = 0; i < List_Nbr(*listIn); i += nb){
+    double *x = (double *)List_Pointer(*listIn, i);
+    double *y = (double *)List_Pointer(*listIn, i + nbNod);
+    double *z = (double *)List_Pointer(*listIn, i + 2 * nbNod);
+    double *val = (double *)List_Pointer(*listIn, i + 3 * nbNod); 
     for(int j = 0; j < dec.numSimplices(); j++){
       dec.decompose(j, x, y, z, val, xNew, yNew, zNew, valNew);
       for(int k = 0; k < dec.numSimplexNodes(); k++)
@@ -116,8 +116,8 @@ static void decomposeList(Post_View *v, int nbNod, int nbComp,
 
   delete [] valNew;
 
-  List_Delete(listIn);
-  listIn = NULL;
+  List_Delete(*listIn);
+  *listIn = NULL;
   *nbIn = 0;
 }
 
@@ -145,24 +145,24 @@ Post_View *GMSH_DecomposeInSimplexPlugin::execute(Post_View * v)
   }
 
   // quads
-  decomposeList(vv, 4, 1, vv->SQ, &vv->NbSQ, vv->ST, &vv->NbST);
-  decomposeList(vv, 4, 3, vv->VQ, &vv->NbVQ, vv->VT, &vv->NbVT);
-  decomposeList(vv, 4, 9, vv->TQ, &vv->NbTQ, vv->TT, &vv->NbTT);
+  decomposeList(vv, 4, 1, &vv->SQ, &vv->NbSQ, vv->ST, &vv->NbST);
+  decomposeList(vv, 4, 3, &vv->VQ, &vv->NbVQ, vv->VT, &vv->NbVT);
+  decomposeList(vv, 4, 9, &vv->TQ, &vv->NbTQ, vv->TT, &vv->NbTT);
 		          
   // hexas	          
-  decomposeList(vv, 8, 1, vv->SH, &vv->NbSH, vv->SS, &vv->NbSS);
-  decomposeList(vv, 8, 3, vv->VH, &vv->NbVH, vv->VS, &vv->NbVS);
-  decomposeList(vv, 8, 9, vv->TH, &vv->NbTH, vv->TS, &vv->NbTS);
+  decomposeList(vv, 8, 1, &vv->SH, &vv->NbSH, vv->SS, &vv->NbSS);
+  decomposeList(vv, 8, 3, &vv->VH, &vv->NbVH, vv->VS, &vv->NbVS);
+  decomposeList(vv, 8, 9, &vv->TH, &vv->NbTH, vv->TS, &vv->NbTS);
 		          
   // prisms	          
-  decomposeList(vv, 6, 1, vv->SI, &vv->NbSI, vv->SS, &vv->NbSS);
-  decomposeList(vv, 6, 3, vv->VI, &vv->NbVI, vv->VS, &vv->NbVS);
-  decomposeList(vv, 6, 9, vv->TI, &vv->NbTI, vv->TS, &vv->NbTS);
+  decomposeList(vv, 6, 1, &vv->SI, &vv->NbSI, vv->SS, &vv->NbSS);
+  decomposeList(vv, 6, 3, &vv->VI, &vv->NbVI, vv->VS, &vv->NbVS);
+  decomposeList(vv, 6, 9, &vv->TI, &vv->NbTI, vv->TS, &vv->NbTS);
 		          
   // pyramids	          
-  decomposeList(vv, 5, 1, vv->SY, &vv->NbSY, vv->SS, &vv->NbSS);
-  decomposeList(vv, 5, 3, vv->VY, &vv->NbVY, vv->VS, &vv->NbVS);
-  decomposeList(vv, 5, 9, vv->TY, &vv->NbTY, vv->TS, &vv->NbTS);
+  decomposeList(vv, 5, 1, &vv->SY, &vv->NbSY, vv->SS, &vv->NbSS);
+  decomposeList(vv, 5, 3, &vv->VY, &vv->NbVY, vv->VS, &vv->NbVS);
+  decomposeList(vv, 5, 9, &vv->TY, &vv->NbTY, vv->TS, &vv->NbTS);
 
   return vv;
 }
diff --git a/demos/isosurf.scp b/demos/isosurf.scp
index 5a86affecdfb3ee2e7b9e6fc7253662a3ed25531..132512daa7c421da78fdc511b1a36f22cb48ab31 100644
--- a/demos/isosurf.scp
+++ b/demos/isosurf.scp
@@ -31,4 +31,4 @@ General.Color.Text = Black;
 General.Color.SmallAxes = Black;
 Draw;
 
-// Save View[0];
+//Save View[0] "iso.pos";