Index: trunk/psLib/src/imageops/psImageConvolve.c
===================================================================
--- trunk/psLib/src/imageops/psImageConvolve.c	(revision 32713)
+++ trunk/psLib/src/imageops/psImageConvolve.c	(revision 32714)
@@ -859,11 +859,11 @@
 
             psThreadJob *job = psThreadJobAlloc("PSLIB_IMAGE_SMOOTHMASK_PIXELS");
-            psArrayAdd(job->args, 1, out);
-            psArrayAdd(job->args, 1, (psImage*)image);
-            psArrayAdd(job->args, 1, (psImage*)mask);
+            psArrayAdd(job->args, 0, out);
+            psArrayAdd(job->args, 0, (psImage*)image);
+            psArrayAdd(job->args, 0, (psImage*)mask);
             PS_ARRAY_ADD_SCALAR(job->args, maskVal, PS_TYPE_IMAGE_MASK);
-            psArrayAdd(job->args, 1, (psVector*)x);
-            psArrayAdd(job->args, 1, (psVector*)y);
-            psArrayAdd(job->args, 1, gaussNorm);
+            psArrayAdd(job->args, 0, (psVector*)x);
+            psArrayAdd(job->args, 0, (psVector*)y);
+            psArrayAdd(job->args, 0, gaussNorm);
             PS_ARRAY_ADD_SCALAR(job->args, minGauss, PS_TYPE_F32);
             PS_ARRAY_ADD_SCALAR(job->args, size, PS_TYPE_S32);
@@ -1203,10 +1203,10 @@
                   // allocate a job, construct the arguments for this job
                   psThreadJob *job = psThreadJobAlloc("PSLIB_IMAGE_SMOOTHMASK_SCANROWS");
-                  psArrayAdd(job->args, 1, calculation);
-                  psArrayAdd(job->args, 1, calcMask);
-                  psArrayAdd(job->args, 1, (psImage *) image); // cast away const
-                  psArrayAdd(job->args, 1, (psImage *) mask); // cast away const
+                  psArrayAdd(job->args, 0, calculation);
+                  psArrayAdd(job->args, 0, calcMask);
+                  psArrayAdd(job->args, 0, (psImage *) image); // cast away const
+                  psArrayAdd(job->args, 0, (psImage *) mask); // cast away const
                   PS_ARRAY_ADD_SCALAR(job->args, maskVal,  PS_TYPE_IMAGE_MASK);
-                  psArrayAdd(job->args, 1, gaussNorm);
+                  psArrayAdd(job->args, 0, gaussNorm);
                   PS_ARRAY_ADD_SCALAR(job->args, minGauss, PS_TYPE_F32);
                   PS_ARRAY_ADD_SCALAR(job->args, size,     PS_TYPE_S32);
@@ -1250,9 +1250,9 @@
                   // allocate a job, construct the arguments for this job
                   psThreadJob *job = psThreadJobAlloc("PSLIB_IMAGE_SMOOTHMASK_SCANCOLS");
-                  psArrayAdd(job->args, 1, output);
-                  psArrayAdd(job->args, 1, calculation);
-                  psArrayAdd(job->args, 1, calcMask);
+                  psArrayAdd(job->args, 0, output);
+                  psArrayAdd(job->args, 0, calculation);
+                  psArrayAdd(job->args, 0, calcMask);
                   PS_ARRAY_ADD_SCALAR(job->args, maskVal,  PS_TYPE_IMAGE_MASK);
-                  psArrayAdd(job->args, 1, gaussNorm);
+                  psArrayAdd(job->args, 0, gaussNorm);
                   PS_ARRAY_ADD_SCALAR(job->args, minGauss, PS_TYPE_F32);
                   PS_ARRAY_ADD_SCALAR(job->args, size,     PS_TYPE_S32);
@@ -1572,6 +1572,6 @@
 
             psThreadJob *job = psThreadJobAlloc("PSLIB_IMAGE_CONVOLVE_MASK");
-            psArrayAdd(job->args, 1, conv);
-            psArrayAdd(job->args, 1, (psImage*)mask); // Casting away const to put on arguments
+            psArrayAdd(job->args, 0, conv);
+            psArrayAdd(job->args, 0, (psImage*)mask); // Casting away const to put on arguments
             PS_ARRAY_ADD_SCALAR(job->args, start, PS_TYPE_S32);
             PS_ARRAY_ADD_SCALAR(job->args, stop, PS_TYPE_S32);
@@ -1607,6 +1607,6 @@
 
             psThreadJob *job = psThreadJobAlloc("PSLIB_IMAGE_CONVOLVE_MASK");
-            psArrayAdd(job->args, 1, out);
-            psArrayAdd(job->args, 1, conv);
+            psArrayAdd(job->args, 0, out);
+            psArrayAdd(job->args, 0, conv);
             PS_ARRAY_ADD_SCALAR(job->args, start, PS_TYPE_S32);
             PS_ARRAY_ADD_SCALAR(job->args, stop, PS_TYPE_S32);
Index: trunk/psLib/src/imageops/psImageCovariance.c
===================================================================
--- trunk/psLib/src/imageops/psImageCovariance.c	(revision 32713)
+++ trunk/psLib/src/imageops/psImageCovariance.c	(revision 32714)
@@ -177,7 +177,7 @@
             if (threaded) {
                 psThreadJob *job = psThreadJobAlloc("PSLIB_IMAGE_COVARIANCE_CALCULATE");
-                psArrayAdd(job->args, 1, out);
-                psArrayAdd(job->args, 1, covar);
-                psArrayAdd(job->args, 1, (psKernel*)kernel); // Casting away const
+                psArrayAdd(job->args, 0, out);
+                psArrayAdd(job->args, 0, covar);
+                psArrayAdd(job->args, 0, (psKernel*)kernel); // Casting away const
                 PS_ARRAY_ADD_SCALAR(job->args, x, PS_TYPE_S32);
                 PS_ARRAY_ADD_SCALAR(job->args, y, PS_TYPE_S32);
@@ -345,6 +345,6 @@
             if (threaded) {
                 psThreadJob *job = psThreadJobAlloc("PSLIB_IMAGE_COVARIANCE_BIN");
-                psArrayAdd(job->args, 1, out);
-                psArrayAdd(job->args, 1, covar);
+                psArrayAdd(job->args, 0, out);
+                psArrayAdd(job->args, 0, covar);
                 PS_ARRAY_ADD_SCALAR(job->args, bin, PS_TYPE_S32);
                 PS_ARRAY_ADD_SCALAR(job->args, binVal, PS_TYPE_F32);
Index: trunk/psLib/src/sys/psThread.c
===================================================================
--- trunk/psLib/src/sys/psThread.c	(revision 32713)
+++ trunk/psLib/src/sys/psThread.c	(revision 32714)
@@ -91,5 +91,5 @@
 
     job->type = psStringCopy(type);
-    job->args = psArrayAlloc(0);
+    job->args = psArrayAlloc(16);
     job->results = NULL;
     return job;
Index: trunk/psLib/src/types/psArray.c
===================================================================
--- trunk/psLib/src/types/psArray.c	(revision 32713)
+++ trunk/psLib/src/types/psArray.c	(revision 32714)
@@ -35,5 +35,5 @@
 #include "psSort.h"
 
-#define DEFAULT_ARRAY_ADD 10            // Default number to add to an array when not specified
+#define DEFAULT_ARRAY_ADD 8            // Default number to add to an array when not specified
 
 /*****************************************************************************
Index: trunk/psLib/src/types/psArray.h
===================================================================
--- trunk/psLib/src/types/psArray.h	(revision 32713)
+++ trunk/psLib/src/types/psArray.h	(revision 32714)
@@ -171,5 +171,5 @@
 #define PS_ARRAY_ADD_SCALAR(ARRAY, VALUE, TYPE) { \
       psScalar *scalar = psScalarAlloc(VALUE, TYPE); \
-      psArrayAdd(ARRAY, 1, scalar); \
+      psArrayAdd(ARRAY, 0, scalar); \
       psFree(scalar); \
 }
