This prevents trying to get a screenshot when the user switched to another VT, which was previously checked in fb.
Signed-off-by: Emmanuel Gil Peyrot <[email protected]> --- exa/exa_unaccel.c | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/exa/exa_unaccel.c b/exa/exa_unaccel.c index 73eada9c2..1dea9df56 100644 --- a/exa/exa_unaccel.c +++ b/exa/exa_unaccel.c @@ -403,11 +403,14 @@ ExaCheckGetImage(DrawablePtr pDrawable, int x, int y, int w, int h, EXA_PRE_FALLBACK(pScreen); EXA_FALLBACK(("from %p (%c)\n", pDrawable, exaDrawableLocation(pDrawable))); - ExaFallbackPrepareReg(pDrawable, NULL, x, y, w, h, EXA_PREPARE_SRC, FALSE); - swap(pExaScr, pScreen, GetImage); - pScreen->GetImage(pDrawable, x, y, w, h, format, planeMask, d); - swap(pExaScr, pScreen, GetImage); - exaFinishAccess(pDrawable, EXA_PREPARE_SRC); + if (RegionNotEmpty(pScreen->root->borderClip)) { + ExaFallbackPrepareReg(pDrawable, NULL, x, y, w, h, EXA_PREPARE_SRC, FALSE); + swap(pExaScr, pScreen, GetImage); + pScreen->GetImage(pDrawable, x, y, w, h, format, planeMask, d); + swap(pExaScr, pScreen, GetImage); + exaFinishAccess(pDrawable, EXA_PREPARE_SRC); + } + EXA_POST_FALLBACK(pScreen); } @@ -420,11 +423,15 @@ ExaCheckGetSpans(DrawablePtr pDrawable, EXA_PRE_FALLBACK(pScreen); EXA_FALLBACK(("from %p (%c)\n", pDrawable, exaDrawableLocation(pDrawable))); - exaPrepareAccess(pDrawable, EXA_PREPARE_SRC); - swap(pExaScr, pScreen, GetSpans); - pScreen->GetSpans(pDrawable, wMax, ppt, pwidth, nspans, pdstStart); - swap(pExaScr, pScreen, GetSpans); - exaFinishAccess(pDrawable, EXA_PREPARE_SRC); + + if (RegionNotEmpty(pScreen->root->borderClip)) { + exaPrepareAccess(pDrawable, EXA_PREPARE_SRC); + swap(pExaScr, pScreen, GetSpans); + pScreen->GetSpans(pDrawable, wMax, ppt, pwidth, nspans, pdstStart); + swap(pExaScr, pScreen, GetSpans); + exaFinishAccess(pDrawable, EXA_PREPARE_SRC); + } + EXA_POST_FALLBACK(pScreen); } -- 2.14.1 _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: https://lists.x.org/mailman/listinfo/xorg-devel
