summaryrefslogtreecommitdiff
path: root/randr
diff options
context:
space:
mode:
Diffstat (limited to 'randr')
-rw-r--r--randr/randr.c16
1 files changed, 15 insertions, 1 deletions
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;
+
+ if (pScreen->isGPU) {
+ master = pScreen->current_master;
+ if (!master)
+ return;
+ mastersp = rrGetScrPriv(master);
+ }
+ else {
+ master = pScreen;
+ mastersp = pScrPriv;
+ }
- pScrPriv->changed = TRUE;
+ mastersp->changed = TRUE;
}
/*