X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/461e93f921df33c09637db5dddcfd07411ff0ded..dc259b792613550edda31cc6202b42e172e2a240:/src/x11/region.cpp diff --git a/src/x11/region.cpp b/src/x11/region.cpp index a8f536416b..0b5130d9be 100644 --- a/src/x11/region.cpp +++ b/src/x11/region.cpp @@ -149,6 +149,12 @@ void wxRegion::Clear() bool wxRegion::Union( wxCoord x, wxCoord y, wxCoord width, wxCoord height ) { + // 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 ( !width || !height ) + return TRUE; + XRectangle rect; rect.x = x; rect.y = y; @@ -434,13 +440,13 @@ public: 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;