Correctly handle empty rects on region initialization.
This commit is contained in:
parent
5620122206
commit
582a9f0d2e
|
@ -250,9 +250,25 @@ extern RegDataRec miBrokenData;
|
||||||
#define REGION_INIT(_pScreen, _pReg, _rect, _size) \
|
#define REGION_INIT(_pScreen, _pReg, _rect, _size) \
|
||||||
{ \
|
{ \
|
||||||
REGION_SCREEN(_pScreen); \
|
REGION_SCREEN(_pScreen); \
|
||||||
|
if (_rect) \
|
||||||
|
{ \
|
||||||
(_pReg)->extents = *(_rect); \
|
(_pReg)->extents = *(_rect); \
|
||||||
(_pReg)->data = (RegDataPtr)NULL; \
|
(_pReg)->data = (RegDataPtr)NULL; \
|
||||||
}
|
} \
|
||||||
|
else \
|
||||||
|
{ \
|
||||||
|
(_pReg)->extents = miEmptyBox; \
|
||||||
|
if (((_size) > 1) && ((_pReg)->data = \
|
||||||
|
(RegDataPtr)xalloc(REGION_SZOF(_size)))) \
|
||||||
|
{ \
|
||||||
|
(_pReg)->data->size = (_size); \
|
||||||
|
(_pReg)->data->numRects = 0; \
|
||||||
|
} \
|
||||||
|
else \
|
||||||
|
(_pReg)->data = &miEmptyData; \
|
||||||
|
} \
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
#define REGION_UNINIT(_pScreen, _pReg) \
|
#define REGION_UNINIT(_pScreen, _pReg) \
|
||||||
{ \
|
{ \
|
||||||
|
|
Loading…
Reference in New Issue
Block a user