randr: make SetChanged modify the main protocol screen not the gpu screen

When SetChanged is called we now modify the main protocol screen,
not the the gpu screen. Since changed stuff should work at the protocol level.

Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Dave Airlie <airlied@redhat.com>
(cherry picked from commit b3f70f38ed)
This commit is contained in:
Dave Airlie 2013-01-09 14:29:47 +10:00
parent cc9579aee3
commit 8d923f090f

View file

@ -467,9 +467,23 @@ TellChanged(WindowPtr pWin, pointer value)
void
RRSetChanged(ScreenPtr pScreen)
{
/* set changed bits on the master screen only */
ScreenPtr master;
rrScrPriv(pScreen);
rrScrPrivPtr mastersp;
pScrPriv->changed = TRUE;
if (pScreen->isGPU) {
master = pScreen->current_master;
if (!master)
return;
mastersp = rrGetScrPriv(master);
}
else {
master = pScreen;
mastersp = pScrPriv;
}
mastersp->changed = TRUE;
}
/*