Index: trunk/psLib/test/sysUtils/tst_psHash02.c
===================================================================
--- trunk/psLib/test/sysUtils/tst_psHash02.c	(revision 1022)
+++ trunk/psLib/test/sysUtils/tst_psHash02.c	(revision 1073)
@@ -19,7 +19,10 @@
 }
 ID;
+static void IdFree(ID *id);
+
 static ID *IdAlloc(const char *name)
 {
     ID *id = psAlloc(sizeof(ID));
+    p_psMemSetDeallocator(id,(psFreeFcn)IdFree);
     id->name = psStringCopy(name);
 
@@ -31,5 +34,4 @@
     imGlobal++;
     psFree(id->name);
-    psFree(id);
 }
 
@@ -52,6 +54,7 @@
     i = 0;
     while (myKeys[i] != NULL) {
-        psHashInsert(myHashTable, myKeys[i], IdAlloc(myData[i]),
-                     (void (*)(void *))IdFree);
+        id = IdAlloc(myData[i]);
+        psHashInsert(myHashTable, myKeys[i], id);
+        psFree(id);
         i++;
     }
@@ -78,5 +81,5 @@
 
     //    psHashFree(myHashTable, NULL);
-    psHashFree(myHashTable, (void (*)(void *))IdFree);
+    psFree(myHashTable);
 
     memLeaks = psMemCheckLeaks(currentId,NULL,NULL);
