From 15595d29c2c3992f260a3314f26fa691f1e5cec8 Mon Sep 17 00:00:00 2001 From: Nikhil Mahale Date: Thu, 26 May 2016 21:50:16 +0530 Subject: [PATCH] randr: Adjust master's last set time with slaves In prime configurations master's last set time may not be latest and greatest, adjust it with slaves last set time, pick up greatest one. Otherwise xserver may end with events which has lastSetTime < lastConfigTime even if that's not the case and confuse xrandr client. [hdegoede: rebase on "xrandrprovider: Do not use separate lists for unbound / source / offload slaves"] Reviewed-by: Hans de Goede Signed-off-by: Hans de Goede --- randr/randr.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/randr/randr.c b/randr/randr.c index 95ed7e5e6..0138dc100 100644 --- a/randr/randr.c +++ b/randr/randr.c @@ -580,6 +580,18 @@ RRTellChanged(ScreenPtr pScreen) mastersp = pScrPriv; } + xorg_list_for_each_entry(iter, &master->slave_list, slave_head) { + pSlaveScrPriv = rrGetScrPriv(iter); + + if (!iter->is_output_slave) + continue; + + if (CompareTimeStamps(mastersp->lastSetTime, + pSlaveScrPriv->lastSetTime) == EARLIER) { + mastersp->lastSetTime = pSlaveScrPriv->lastSetTime; + } + } + if (mastersp->changed) { UpdateCurrentTimeIf(); if (mastersp->configChanged) {