#include "wx/bitmap.h"
 #include "wx/mac/pnghand.h"
 #include "wx/mac/pngread.h"
+#include "wx/mac/private.h"
 
 extern "C" {
 #include "png.h"
 
   if (lpbi)  
   {
-       wxMacDestroyGWorld( lpbi ) ;
+       wxMacDestroyGWorld( (GWorldPtr) lpbi ) ;
   }
   lpbi = wxMacCreateGWorld( Width , Height , Depth);
   if (lpbi)
 {
        delete[] RawImage ;
   if (lpbi)  {
-       wxMacDestroyGWorld( lpbi ) ;
+       wxMacDestroyGWorld( (GWorldPtr) lpbi ) ;
   }
   delete m_palette;
 }
 void wxPNGReader::NullData()
 {
   if (lpbi)  {
-       wxMacDestroyGWorld( lpbi ) ;
+       wxMacDestroyGWorld( (GWorldPtr) lpbi ) ;
   }
   delete m_palette;
   lpbi = NULL;
                
                GetGWorld( &origPort , &origDevice ) ;
                // ignore shapedc
-               SetGWorld( lpbi , NULL ) ;
+               SetGWorld( (GWorldPtr) lpbi , NULL ) ;
          do  
          {
        //    (unsigned char *)iter.GetRow();
 
 #include "wx/bitmap.h"
 #include "wx/mac/pnghand.h"
 #include "wx/mac/pngread.h"
+#include "wx/mac/private.h"
 
 extern "C" {
 #include "png.h"
 
   if (lpbi)  
   {
-       wxMacDestroyGWorld( lpbi ) ;
+       wxMacDestroyGWorld( (GWorldPtr) lpbi ) ;
   }
   lpbi = wxMacCreateGWorld( Width , Height , Depth);
   if (lpbi)
 {
        delete[] RawImage ;
   if (lpbi)  {
-       wxMacDestroyGWorld( lpbi ) ;
+       wxMacDestroyGWorld( (GWorldPtr) lpbi ) ;
   }
   delete m_palette;
 }
 void wxPNGReader::NullData()
 {
   if (lpbi)  {
-       wxMacDestroyGWorld( lpbi ) ;
+       wxMacDestroyGWorld( (GWorldPtr) lpbi ) ;
   }
   delete m_palette;
   lpbi = NULL;
                
                GetGWorld( &origPort , &origDevice ) ;
                // ignore shapedc
-               SetGWorld( lpbi , NULL ) ;
+               SetGWorld( (GWorldPtr) lpbi , NULL ) ;
          do  
          {
        //    (unsigned char *)iter.GetRow();