]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk1/region.cpp
Fixed yet another error in my wxCmdLineParser mdifications.
[wxWidgets.git] / src / gtk1 / region.cpp
index f184e4d7955844f4793692316588e021b00153b1..11ca072cd31d321376918745024b83fb78ac067d 100644 (file)
@@ -39,6 +39,7 @@ public:
     }
     
     wxRegionRefData(const wxRegionRefData& refData)
+        : wxObjectRefData()
     {
 #ifdef __WXGTK20__
         m_region = gdk_region_copy(refData.m_region);
@@ -66,8 +67,8 @@ public:
 #define M_REGIONDATA ((wxRegionRefData *)m_refData)
 #define M_REGIONDATA_OF(rgn) ((wxRegionRefData *)(rgn.m_refData))
 
-IMPLEMENT_DYNAMIC_CLASS(wxRegion, wxGDIObject);
-IMPLEMENT_DYNAMIC_CLASS(wxRegionIterator,wxObject);
+IMPLEMENT_DYNAMIC_CLASS(wxRegion, wxGDIObject)
+IMPLEMENT_DYNAMIC_CLASS(wxRegionIterator,wxObject)
 
 // ----------------------------------------------------------------------------
 // wxRegion construction
@@ -470,31 +471,31 @@ struct _XRegion {
 class wxRIRefData: public wxObjectRefData
 {
 public:
+    wxRIRefData() { Init(); }
+    virtual ~wxRIRefData();
 
-    wxRIRefData() : m_rects(0), m_numRects(0){}
-   ~wxRIRefData();
+    void CreateRects( const wxRegion& r );
+
+    void Init() { m_rects = NULL; m_numRects = 0; }
 
     wxRect *m_rects;
     size_t  m_numRects;
-
-    void CreateRects( const wxRegion& r );
 };
 
 wxRIRefData::~wxRIRefData()
 {
-    delete m_rects;
+    delete [] m_rects;
 }
 
 void wxRIRefData::CreateRects( const wxRegion& region )
 {
-    if (m_rects)
-      delete m_rects;
+    delete [] m_rects;
 
-    m_rects = 0;
-    m_numRects = 0;
+    Init();
     
     GdkRegion *gdkregion = region.GetRegion();
-    if (!gdkregion) return;
+    if (!gdkregion)
+        return;
     
 #ifdef __WXGTK20__
     GdkRectangle *gdkrects = NULL;