]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/region.cpp
Added wxRichTextXMLHandler::RegisterNodeName so custom content classes can be added...
[wxWidgets.git] / src / gtk / region.cpp
index cf1d5d363bec152a98610d8ace9f75db54d30137..92ec47f1e790cf18884d97512405345fee55a8d4 100644 (file)
@@ -370,15 +370,13 @@ void wxRegionIterator::CreateRects( const wxRegion& region )
     if (!gdkregion)
         return;
 
-    GdkRectangle *gdkrects = NULL;
-    gint numRects = 0;
-    gdk_region_get_rectangles( gdkregion, &gdkrects, &numRects );
+    GdkRectangle* gdkrects;
+    gdk_region_get_rectangles(gdkregion, &gdkrects, &m_numRects);
 
-    m_numRects = numRects;
-    if (numRects)
+    if (m_numRects)
     {
         m_rects = new wxRect[m_numRects];
-        for (size_t i=0; i < m_numRects; ++i)
+        for (int i = 0; i < m_numRects; ++i)
         {
             GdkRectangle &gr = gdkrects[i];
             wxRect &wr = m_rects[i];
@@ -460,20 +458,17 @@ wxRect wxRegionIterator::GetRect() const
 
 wxRegionIterator& wxRegionIterator::operator=(const wxRegionIterator& ri)
 {
-    wxDELETEA(m_rects);
-
-    m_current = ri.m_current;
-    m_numRects = ri.m_numRects;
-    if ( m_numRects )
-    {
-        m_rects = new wxRect[m_numRects];
-        for ( unsigned int n = 0; n < m_numRects; n++ )
-            m_rects[n] = ri.m_rects[n];
-    }
-    else
+    if (this != &ri)
     {
-        m_rects = NULL;
-    }
+        wxDELETEA(m_rects);
 
+        m_current = ri.m_current;
+        m_numRects = ri.m_numRects;
+        if ( m_numRects )
+        {
+            m_rects = new wxRect[m_numRects];
+            memcpy(m_rects, ri.m_rects, m_numRects * sizeof m_rects[0]);
+        }
+    }
     return *this;
 }