Index: trunk/psModules/src/objects/pmSourceFitModel.c
===================================================================
--- trunk/psModules/src/objects/pmSourceFitModel.c	(revision 13034)
+++ trunk/psModules/src/objects/pmSourceFitModel.c	(revision 13803)
@@ -6,6 +6,6 @@
  *  @author GLG, MHPCC
  *
- *  @version $Revision: 1.21 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2007-04-26 01:20:29 $
+ *  @version $Revision: 1.22 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2007-06-13 23:41:51 $
  *
  *  Copyright 2004 Maui High Performance Computing Center, University of Hawaii
@@ -157,5 +157,5 @@
     if (nPix <  nParams + 1) {
         psTrace ("psModules.objects", 4, "insufficient valid pixels\n");
-        model->status = PM_MODEL_BADARGS;
+        model->flags |= PM_MODEL_STATUS_BADARGS;
         psFree (x);
         psFree (y);
@@ -184,4 +184,6 @@
     model->nIter = myMin->iter;
     model->nDOF  = y->n - nParams;
+    model->flags |= PM_MODEL_STATUS_FITTED;
+    if (!fitStatus) model->flags |= PM_MODEL_STATUS_NONCONVERGE;
 
     // get the Gauss-Newton distance for fixed model parameters
@@ -207,11 +209,4 @@
     }
 
-    // set the model success or failure status
-    if (!fitStatus) {
-        model->status = PM_MODEL_NONCONVERGE;
-    } else {
-        model->status = PM_MODEL_SUCCESS;
-    }
-
     // models can go insane: reject these
     onPic &= (params->data.F32[PM_PAR_XPOS] >= source->pixels->col0);
@@ -220,5 +215,5 @@
     onPic &= (params->data.F32[PM_PAR_YPOS] <  source->pixels->row0 + source->pixels->numRows);
     if (!onPic) {
-        model->status = PM_MODEL_OFFIMAGE;
+        model->flags |= PM_MODEL_STATUS_OFFIMAGE;
     }
 
@@ -461,5 +456,5 @@
         psTrace (__func__, 4, "insufficient valid pixels\n");
         psTrace("psModules.objects", 3, "---- %s() end : fail pixels ----\n", __func__);
-        model->status = PM_MODEL_BADARGS;
+        model->flags |= PM_MODEL_STATUS_BADARGS;
         psFree (x);
         psFree (y);
@@ -529,5 +524,6 @@
 
         // set the model success or failure status
-        model->status = fitStatus ? PM_MODEL_SUCCESS : PM_MODEL_NONCONVERGE;
+	model->flags |= PM_MODEL_STATUS_FITTED;
+	if (!fitStatus) model->flags |= PM_MODEL_STATUS_NONCONVERGE;
 
         // models can go insane: reject these
@@ -536,7 +532,5 @@
         onPic &= (model->params->data.F32[PM_PAR_XPOS] >= source->pixels->row0);
         onPic &= (model->params->data.F32[PM_PAR_XPOS] <  source->pixels->row0 + source->pixels->numRows);
-        if (!onPic) {
-            model->status = PM_MODEL_OFFIMAGE;
-        }
+        if (!onPic) model->flags |= PM_MODEL_STATUS_OFFIMAGE;
     }
     psTrace ("psModules.objects", 4, "niter: %d, chisq: %f", myMin->iter, myMin->value);
