Index: trunk/psModules/src/pmAstrometry.c
===================================================================
--- trunk/psModules/src/pmAstrometry.c	(revision 4992)
+++ trunk/psModules/src/pmAstrometry.c	(revision 4997)
@@ -8,6 +8,6 @@
 *  @author GLG, MHPCC
 *
-*  @version $Revision: 1.4 $ $Name: not supported by cvs2svn $
-*  @date $Date: 2005-09-11 22:25:39 $
+*  @version $Revision: 1.5 $ $Name: not supported by cvs2svn $
+*  @date $Date: 2005-09-12 20:38:25 $
 *
 *  Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii
@@ -47,6 +47,8 @@
 XXX: Is this the correct way to free metadata?
 XXX: Is this the correct way to free database structs?
+ 
+XXX: The meory dereferencing is not quite right with these functions.  If I
+call the alloc functions with non-NULL pointers, there will be memory leaks.
  *****************************************************************************/
-
 static void FPAFree(pmFPA *fpa)
 {
@@ -120,5 +122,5 @@
     tmpReadout->concepts = psMetadataAlloc();
     tmpReadout->parent = cell;
-
+    psMemIncrRefCounter((psPtr) cell);
     if (cell != NULL) {
         cell->readouts = psArrayAdd(cell->readouts, 1, (psPtr) tmpReadout);
@@ -141,4 +143,5 @@
     tmpCell->readouts = psArrayAlloc(0);
     tmpCell->parent = chip;
+    psMemIncrRefCounter((psPtr) chip);
     if (chip != NULL) {
         chip->cells = psArrayAdd(chip->cells, 1, (psPtr) tmpCell);
@@ -165,6 +168,8 @@
     tmpChip->cells = psArrayAlloc(0);
     tmpChip->parent = fpa;
+    psMemIncrRefCounter((psPtr) fpa);
     if (fpa != NULL) {
         fpa->chips = psArrayAdd(fpa->chips, 1, (psPtr) tmpChip);
+        psMemIncrRefCounter((psPtr) tmpChip);
     }
     tmpChip->valid = false;
@@ -189,7 +194,9 @@
     tmpFPA->analysis = psMetadataAlloc();
     tmpFPA->camera = camera;
+    psMemIncrRefCounter((psPtr) camera);
     tmpFPA->chips = psArrayAlloc(0);
     tmpFPA->header = NULL;
     tmpFPA->db = db;
+    psMemIncrRefCounter((psPtr) db);
 
     psMemSetDeallocator(tmpFPA, (psFreeFunc) FPAFree);
