X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/46a1983ae4a56bfa64b7dcc171f7d996cd980d8c..4a699e3a59b19c21b6faae714b56cac5a75df2e2:/src/gtk/region.cpp diff --git a/src/gtk/region.cpp b/src/gtk/region.cpp index 1f22346b7b..1e1cb84e8f 100644 --- a/src/gtk/region.cpp +++ b/src/gtk/region.cpp @@ -137,7 +137,7 @@ wxGDIRefData *wxRegion::CloneGDIRefData(const wxGDIRefData *data) const bool wxRegion::DoIsEqual(const wxRegion& region) const { return gdk_region_equal(M_REGIONDATA->m_region, - M_REGIONDATA_OF(region)->m_region); + M_REGIONDATA_OF(region)->m_region) != 0; } // ---------------------------------------------------------------------------- @@ -292,7 +292,7 @@ bool wxRegion::IsEmpty() const if (!m_refData) return true; - return gdk_region_empty( M_REGIONDATA->m_region ); + return gdk_region_empty( M_REGIONDATA->m_region ) != 0; } wxRegionContain wxRegion::DoContainsPoint( wxCoord x, wxCoord y ) const @@ -458,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 ( 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; }