]> git.saurik.com Git - wxWidgets.git/blobdiff - src/motif/region.cpp
added ctor taking wxFontFlags
[wxWidgets.git] / src / motif / region.cpp
index f9e7e47413b2926f391f345aa739c00f1d8321da..1bec3f26ceaf7892ce1ee4ce8daefaf8180de912 100644 (file)
@@ -200,8 +200,17 @@ void wxRegion::Clear()
 }
 
 //! Combine rectangle (x, y, w, h) with this.
-bool wxRegion::Combine(wxCoord x, wxCoord y, wxCoord width, wxCoord height, wxRegionOp op)
+bool
+wxRegion::Combine(wxCoord x, wxCoord y,
+                  wxCoord width, wxCoord height,
+                  wxRegionOp op)
 {
+    // work around for XUnionRectWithRegion() bug: taking a union with an empty
+    // rect results in an empty region (at least XFree 3.3.6 and 4.0 have this
+    // problem)
+    if ( op == wxRGN_OR && (!width || !height) )
+        return TRUE;
+
     // Don't change shared data
     if (!m_refData) {
         m_refData = new wxRegionRefData();
@@ -462,8 +471,7 @@ void wxRegionIterator::Reset(const wxRegion& region)
             m_numRects = count;
             m_rects = new wxRect[m_numRects];
 
-            int i = 0;
-            for (i = 0; i < m_numRects; i++)
+            for (size_t i = 0; i < m_numRects; i++)
                m_rects[i] = rects[i];
 
            /*