Index: trunk/psModules/src/objects/pmTrend2D.c
===================================================================
--- trunk/psModules/src/objects/pmTrend2D.c	(revision 15254)
+++ trunk/psModules/src/objects/pmTrend2D.c	(revision 15413)
@@ -3,6 +3,6 @@
  *  @author EAM, IfA
  *
- *  @version $Revision: 1.4 $ $Name: not supported by cvs2svn $
- *  @date $Date: 2007-10-09 19:26:25 $
+ *  @version $Revision: 1.5 $ $Name: not supported by cvs2svn $
+ *  @date $Date: 2007-10-29 22:34:29 $
  *
  *  Copyright 2004 Institute for Astronomy, University of Hawaii
@@ -10,4 +10,6 @@
  */
 
+// XXXX: ignore
+
 #ifdef HAVE_CONFIG_H
 #include <config.h>
@@ -31,5 +33,9 @@
 pmTrend2D *pmTrend2DAlloc (pmTrend2DMode mode, psImage *image, int nXtrend, int nYtrend, psStats *stats)
 {
-    assert (image);
+<<<<<<< pmTrend2D.c
+    PS_ASSERT_PTR_NON_NULL(stats, NULL);
+    if (mode == PM_TREND_MAP) {
+        PS_ASSERT_PTR_NON_NULL(image, NULL);
+    }
 
     pmTrend2D *trend = (pmTrend2D *) psAlloc(sizeof(pmTrend2D));
@@ -72,9 +78,15 @@
 	  break;
       }
-
+      // XXX: Put a more graceful error here.
       default:
 	psAbort ("error");
     }
     return (trend);
+}
+
+bool psMemCheckTrend2D(psPtr ptr)
+{
+    PS_ASSERT_PTR(ptr, false);
+    return ( psMemGetDeallocator(ptr) == (psFreeFunc) pmTrend2DFree);
 }
 
@@ -122,4 +134,5 @@
 pmTrend2D *pmTrend2DFieldAlloc (pmTrend2DMode mode, int nXfield, int nYfield, int nXtrend, int nYtrend, psStats *stats)
 {
+    PS_ASSERT_PTR_NON_NULL(stats, NULL);
     pmTrend2D *trend = (pmTrend2D *) psAlloc(sizeof(pmTrend2D));
     psMemSetDeallocator(trend, (psFreeFunc) pmTrend2DFree);
@@ -163,4 +176,5 @@
 
       default:
+        // XXX: Put a more graceful error here.
 	psAbort ("error");
     }
@@ -168,5 +182,8 @@
 }
 
-bool pmTrend2DFit (pmTrend2D *trend, psVector *mask, psMaskType maskVal, psVector *x, psVector *y, psVector *f, psVector *df) {
+bool pmTrend2DFit (pmTrend2D *trend, psVector *mask, psMaskType maskVal, psVector *x,
+                   psVector *y, psVector *f, psVector *df)
+{
+    PS_ASSERT_PTR_NON_NULL(trend, false);
 
     bool status;
@@ -198,10 +215,9 @@
 }
 
-double pmTrend2DEval (pmTrend2D *trend, float x, float y) {
+double pmTrend2DEval (pmTrend2D *trend, float x, float y)
+{
+    if (!trend) return 0.0;
 
     double result;
-
-    assert (trend);
-
     switch (trend->mode) {
       case PM_TREND_POLY_ORD:
@@ -220,6 +236,7 @@
 }
 
-psVector *pmTrend2DEvalVector (pmTrend2D *trend, psVector *x, psVector *y) {
-
+psVector *pmTrend2DEvalVector (pmTrend2D *trend, psVector *x, psVector *y)
+{
+    PS_ASSERT_PTR_NON_NULL(trend, NULL);
     psVector *result;
 
