sna/fb: Use memcpy() to avoid strict aliasing violations

Replace the cast+deref with memcpy() so that we don't upset
the compiler's strict aliasing rules.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
This commit is contained in:
Ville Syrjälä 2019-03-19 16:56:34 +02:00
parent d8a3db2574
commit e4a8d533da
1 changed files with 4 additions and 2 deletions

View File

@ -39,12 +39,13 @@ fbFillSpans(DrawablePtr drawable, GCPtr gc,
while (n--) {
BoxRec box;
*(DDXPointPtr)&box = *pt++;
memcpy(&box, pt, sizeof(box));
box.x2 = box.x1 + *width++;
box.y2 = box.y1 + 1;
/* XXX fSorted */
fbDrawableRun(drawable, gc, &box, fbFillSpan, NULL);
pt++;
}
}
@ -91,7 +92,8 @@ fbSetSpans(DrawablePtr drawable, GCPtr gc,
while (n--) {
BoxRec box;
*(DDXPointPtr)&box = data.pt = *pt;
memcpy(&box, pt, sizeof(box));
data.pt = *pt;
box.x2 = box.x1 + *width;
box.y2 = box.y1 + 1;