evas - render2 - silence new gcc warnings about possibly freeing static

This one is new:

In file included from lib/evas/canvas/render2/evas_render2.c:5:0:
In function ‘_region_break.isra.5’,
    inlined from ‘region_add’ at
lib/evas/canvas/render2/region.c:847:41:
lib/evas/canvas/render2/region.c:107:62: warning: attempt to free a
non-heap object ‘_region_brokendata’ [-Wfree-nonheap-object]
 #define FREE_DATA(reg) if ((reg)->data && (reg)->data->size)
free((reg)->data)
                                                              ^
                                                              lib/evas/canvas/render2/region.c:184:4:
note: in expansion of macro ‘FREE_DATA’
    FREE_DATA(region);

While it won't actually free is because if using brokendata the size
is 0 and it'll skip it, add in a check to see if region->data is the
brokendata static
This commit is contained in:
Carsten Haitzler 2016-03-01 13:09:50 +09:00
parent d40b046685
commit 1585d242da
1 changed files with 1 additions and 1 deletions

View File

@ -104,7 +104,7 @@ struct _Region
((r1)->y1 <= (r2)->y1) && ((r1)->y2 >= (r2)->y2))
#define ALLOC(n) malloc(PIXREGION_SZOF(n))
#define FREE_DATA(reg) if ((reg)->data && (reg)->data->size) free((reg)->data)
#define FREE_DATA(reg) if ((reg)->data && ((reg)->data != &_region_brokendata) && (reg)->data->size) free((reg)->data)
#define RECTALLOC_BAIL(pReg ,n, bail) \
if (!(pReg)->data || (((pReg)->data->num + (n)) > (pReg)->data->size)) \
{ \