]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mac/carbon/region.cpp
Commit patch [ 1559950 ] fix mem leaks in wx{Dir|File}Dialog
[wxWidgets.git] / src / mac / carbon / region.cpp
index 751177afdef0a6d7431932822bc2a1bb70c603d0..1f26fe1575d71e3de7a92e1d42ca2969a80b8c2e 100644 (file)
@@ -1,5 +1,5 @@
 /////////////////////////////////////////////////////////////////////////////
-// File:      region.cpp
+// File:      src/mac/carbon/region.cpp
 // Purpose:   Region class
 // Author:    Stefan Csomor
 // Created:   Fri Oct 24 10:46:34 MET 1997
 #include "wx/wxprec.h"
 
 #include "wx/region.h"
-#include "wx/gdicmn.h"
+
+#ifndef WX_PRECOMP
+    #include "wx/gdicmn.h"
+#endif
+
 #include "wx/mac/uma.h"
 
 IMPLEMENT_DYNAMIC_CLASS(wxRegion, wxGDIObject)
@@ -34,7 +38,7 @@ public:
         CopyRgn( data.m_macRgn , m_macRgn );
     }
 
-    ~wxRegionRefData()
+    virtual ~wxRegionRefData()
     { DisposeRgn( m_macRgn ); }
 
     RgnHandle    m_macRgn;
@@ -282,7 +286,10 @@ wxRect wxRegion::GetBox() const
 // Is region empty?
 bool wxRegion::Empty() const
 {
-    return EmptyRgn( M_REGION ) ;
+    if ( m_refData )
+        return EmptyRgn( M_REGION ) ;
+    else
+        return true ;
 }
 
 const WXHRGN wxRegion::GetWXHRGN() const
@@ -509,7 +516,7 @@ wxRegionIterator& wxRegionIterator::operator ++ ()
 {
     if (m_current < m_numRects)
         ++m_current;
-    
+
     return *this;
 }
 
@@ -558,4 +565,3 @@ long wxRegionIterator::GetH() const
 
     return 0;
 }
-