X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/644231539d2ccf9ef873060154079f33ba7a42db..635f01472ede31a6be433560ebd62eab3953dfe7:/src/x11/region.cpp diff --git a/src/x11/region.cpp b/src/x11/region.cpp index 1f7f4d5929..78be859708 100644 --- a/src/x11/region.cpp +++ b/src/x11/region.cpp @@ -1,14 +1,14 @@ ///////////////////////////////////////////////////////////////////////////// // File: region.cpp // Purpose: Region class -// Author: Markus Holzem, Julian Smart, Robert Roebling +// Author: Julian Smart, Robert Roebling // Created: Fri Oct 24 10:46:34 MET 1997 -// RCS-ID: $Id$ -// Copyright: (c) 1997 Markus Holzem, Julian Smart, Robert Roebling +// RCS-ID: $Id$ +// Copyright: (c) 1997 Julian Smart, Robert Roebling // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma implementation "region.h" #endif @@ -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;