Index: trunk/psModules/src/detrend/pmDetrendThreads.c
===================================================================
--- trunk/psModules/src/detrend/pmDetrendThreads.c	(revision 18893)
+++ trunk/psModules/src/detrend/pmDetrendThreads.c	(revision 18960)
@@ -18,32 +18,45 @@
 #include "pmDetrendThreads.h"
 
-static int scanRows = 0;
+static int scanRows = 0;                // Number of rows to work on at once
 
-int pmDetrendGetScanRows () {
+int pmDetrendGetScanRows(void)
+{
     return scanRows;
-}    
+}
 
-bool pmDetrendSetThreadTasks (int newScanRows) {
+bool pmDetrendSetThreadTasks (int newScanRows)
+{
+    psAssert(scanRows == 0, "programming error: program called pmDetrendSetThreadTasks twice");
 
-    psAssert (scanRows == 0, "programming error: program called pmDetrendSetThreadTasks twice");
+    PS_ASSERT_INT_POSITIVE(newScanRows, false);
     scanRows = newScanRows;
 
-    psThreadTask *task = NULL;
+    {
+        psThreadTask *task = psThreadTaskAlloc("PSMODULES_DETREND_BIAS", 7);
+        task->function = &pmBiasSubtractScan_Threaded;
+        psThreadTaskAdd(task);
+        psFree(task);
+    }
 
-    task = psThreadTaskAlloc ("PSMODULES_DETREND_BIAS", 7);
-    task->function = &pmBiasSubtractScan_Threaded;
-    psThreadTaskAdd (task);
+    {
+        psThreadTask *task = psThreadTaskAlloc("PSMODULES_DETREND_DARK", 9);
+        task->function = &pmDarkApplyScan_Threaded;
+        psThreadTaskAdd(task);
+        psFree(task);
+    }
 
-    task = psThreadTaskAlloc ("PSMODULES_DETREND_DARK", 9);
-    task->function = &pmDarkApplyScan_Threaded;
-    psThreadTaskAdd (task);
+    {
+        psThreadTask *task = psThreadTaskAlloc("PSMODULES_DETREND_SHUTTER", 7);
+        task->function = &pmShutterCorrectionApplyScan_Threaded;
+        psThreadTaskAdd(task);
+        psFree(task);
+    }
 
-    task = psThreadTaskAlloc ("PSMODULES_DETREND_SHUTTER", 7);
-    task->function = &pmShutterCorrectionApplyScan_Threaded;
-    psThreadTaskAdd (task);
-
-    task = psThreadTaskAlloc ("PSMODULES_DETREND_FLAT", 9);
-    task->function = &pmFlatFieldScan_Threaded;
-    psThreadTaskAdd (task);
+    {
+        psThreadTask *task = psThreadTaskAlloc("PSMODULES_DETREND_FLAT", 9);
+        task->function = &pmFlatFieldScan_Threaded;
+        psThreadTaskAdd(task);
+        psFree(task);
+    }
 
     return true;
