From 61df3350d000e32ea60f6b1cd222c5adc2e35617 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Wed, 9 Jan 2013 14:29:47 +1000 Subject: [PATCH] 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 Signed-off-by: Dave Airlie --- randr/randr.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/randr/randr.c b/randr/randr.c index 11f88b2b4..fb0895d7a 100644 --- a/randr/randr.c +++ b/randr/randr.c @@ -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; } /*