Index: trunk/psLib/src/sys/psErrorCodes.c.in
===================================================================
--- trunk/psLib/src/sys/psErrorCodes.c.in	(revision 25256)
+++ trunk/psLib/src/sys/psErrorCodes.c.in	(revision 26892)
@@ -67,5 +67,5 @@
 static void freeErrorDescription(psErrorDescription* err)
 {
-    psFree((void *)err->description);
+    psFree(err->description);
 }
 
Index: trunk/psLib/src/sys/psMemory.h
===================================================================
--- trunk/psLib/src/sys/psMemory.h	(revision 25256)
+++ trunk/psLib/src/sys/psMemory.h	(revision 26892)
@@ -326,6 +326,7 @@
 
 /** Free memory.  This operates much like free().
- *
+ *  
  *  @see psAlloc, psRealloc
+ *  note: we cast ptr to (void *) in case we are supplied a const pointer.
  */
 #ifdef DOXYGEN
@@ -336,5 +337,5 @@
 #ifndef SWIG
 #define psFree(ptr) \
-        psMemDecrRefCounter(ptr)
+    ptr = psMemDecrRefCounter((void *)ptr);
 #endif // ifndef SWIG
 #endif // ifdef DOXYGEN
Index: trunk/psLib/src/sys/psTrace.c
===================================================================
--- trunk/psLib/src/sys/psTrace.c	(revision 25256)
+++ trunk/psLib/src/sys/psTrace.c	(revision 26892)
@@ -119,5 +119,5 @@
 
     psMemSetPersistent((psPtr)comp->name,false);
-    psFree((void *)comp->name);
+    psFree(comp->name);
 }
 
