]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/pnghand.cpp
Updated Makefiles for all but Motif; there is either a lock or a CVS problem.
[wxWidgets.git] / src / mac / pnghand.cpp
index 193676f19550ea1cc0224d8b51427e66e0de8ec3..3d2690803c0779d77e550a6cf9d8e0a3e31fc2bc 100644 (file)
@@ -39,6 +39,7 @@
 #include "wx/bitmap.h"
 #include "wx/mac/pnghand.h"
 #include "wx/mac/pngread.h"
+#include "wx/mac/private.h"
 
 extern "C" {
 #include "png.h"
@@ -110,13 +111,12 @@ wxPNGReader::Create(int width, int height, int depth, int colortype)
   Width = width; Height = height; Depth = depth;
   ColorType = (colortype>=0) ? colortype: ((Depth>8) ? COLORTYPE_COLOR: 0);
   delete m_palette;
-  delete[] RawImage ;
-  RawImage = 0;
-  m_palette = 0;
+  m_palette = NULL;
+  delete[] RawImage;
+  RawImage = NULL;
 
-  if (lpbi)  
-  {
-       wxMacDestroyGWorld( lpbi ) ;
+  if (lpbi) {
+       wxMacDestroyGWorld( (GWorldPtr) lpbi ) ;
   }
   lpbi = wxMacCreateGWorld( Width , Height , Depth);
   if (lpbi)
@@ -133,11 +133,18 @@ wxPNGReader::Create(int width, int height, int depth, int colortype)
 
 wxPNGReader::~wxPNGReader ( )
 {
-       delete[] RawImage ;
-  if (lpbi)  {
-       wxMacDestroyGWorld( lpbi ) ;
-  }
-  delete m_palette;
+    if (RawImage != NULL) {
+        delete[] RawImage ;
+        RawImage = NULL;
+    }
+    if (lpbi)  {
+       wxMacDestroyGWorld( (GWorldPtr) lpbi ) ;
+        lpbi = NULL;
+    }
+    if (m_palette != NULL) {
+        delete m_palette;
+        m_palette = NULL;
+    }
 }
 
 
@@ -258,11 +265,13 @@ wxPNGReader::SetPalette(int n, rgb_color_struct *rgb_struct)
 void wxPNGReader::NullData()
 {
   if (lpbi)  {
-       wxMacDestroyGWorld( lpbi ) ;
+       wxMacDestroyGWorld( (GWorldPtr) lpbi ) ;
+        lpbi = NULL;
+  }
+  if (m_palette != NULL) {
+      delete m_palette;
+      m_palette = NULL;
   }
-  delete m_palette;
-  lpbi = NULL;
-  m_palette = NULL;
 }
 
 wxBitmap* wxPNGReader::GetBitmap(void)
@@ -431,7 +440,7 @@ bool wxPNGReader::ReadFile(char * ImageFileName)
   if (!info_ptr)
   {
     fclose(fp);
-    delete(png_ptr);
+    delete png_ptr;
     return FALSE;
   }
   /* set error handling */
@@ -439,8 +448,8 @@ bool wxPNGReader::ReadFile(char * ImageFileName)
   {
     png_read_destroy(png_ptr, info_ptr, (png_info *)0);
     fclose(fp);
-    delete(png_ptr);
-    delete(info_ptr);
+    delete png_ptr;
+    delete info_ptr;
 
     /* If we get here, we had a problem reading the file */
     return FALSE;
@@ -512,7 +521,7 @@ bool wxPNGReader::ReadFile(char * ImageFileName)
                
                GetGWorld( &origPort , &origDevice ) ;
                // ignore shapedc
-               SetGWorld( lpbi , NULL ) ;
+               SetGWorld( (GWorldPtr) lpbi , NULL ) ;
          do  
          {
        //    (unsigned char *)iter.GetRow();
@@ -622,8 +631,8 @@ bool wxPNGReader::ReadFile(char * ImageFileName)
   png_read_destroy(png_ptr, info_ptr, (png_info *)0);
 
   /* free the structures */
-  delete(png_ptr);
-  delete(info_ptr);
+  delete png_ptr;
+  delete info_ptr;
 
   /* close the file */
   fclose(fp);
@@ -662,7 +671,7 @@ bool wxPNGReader::SaveFile(char * ImageFileName)
   if (!info_ptr)
   {
     fclose(fp);
-    delete(png_ptr);
+    delete png_ptr;
     return FALSE;
   }
 
@@ -671,8 +680,8 @@ bool wxPNGReader::SaveFile(char * ImageFileName)
   {
     png_write_destroy(png_ptr);
     fclose(fp);
-    delete(png_ptr);
-    delete(info_ptr);
+    delete png_ptr;
+    delete info_ptr;
 
     /* If we get here, we had a problem reading the file */
     return FALSE;
@@ -769,8 +778,8 @@ bool wxPNGReader::SaveFile(char * ImageFileName)
     delete[] (info_ptr->palette);
 
   /* free the structures */
-  delete(png_ptr);
-  delete(info_ptr);
+  delete png_ptr;
+  delete info_ptr;
 
   /* close the file */
   fclose(fp);