glamor: Don't forget to check whether we can fall back in polysegment.
Part of the _nf contract is that glamor will only return FALSE if glamor has checked that UXA can actually map the pixmaps (UXA only allocates the BO itself in the screen pixmap and DRI2 cases, and can't map it otherwise). Fixes server segfaults zooming in and out of libreoffice spreadsheets. Signed-off-by: Eric Anholt <eric@anholt.net> Reviewed-by: Keith Packard <keithp@keithp.com> Signed-off-by: Keith Packard <keithp@keithp.com>
This commit is contained in:
parent
fb24ac0a2c
commit
6dd86f3cba
|
@ -26,14 +26,19 @@ Bool
|
|||
glamor_poly_segment_nf(DrawablePtr drawable, GCPtr gc, int nseg,
|
||||
xSegment *seg)
|
||||
{
|
||||
return FALSE;
|
||||
if (glamor_ddx_fallback_check_pixmap(drawable) &&
|
||||
glamor_ddx_fallback_check_gc(gc)) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
miPolySegment(drawable, gc, nseg, seg);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void
|
||||
glamor_poly_segment(DrawablePtr drawable, GCPtr gc, int nseg,
|
||||
xSegment *seg)
|
||||
{
|
||||
if (glamor_poly_segment_nf(drawable, gc, nseg, seg))
|
||||
return;
|
||||
miPolySegment(drawable, gc, nseg, seg);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user