[PATCH xserver] randr: Adjust master's last set time with slaves
Hans de Goede
hdegoede at redhat.com
Thu May 26 12:31:24 UTC 2016
Hi,
On 20-05-16 07:01, Nikhil Mahale wrote:
> 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.
>
> Signed-off-by: Nikhil Mahale <nmahale at nvidia.com>
> ---
> randr/randr.c | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/randr/randr.c b/randr/randr.c
> index 3aabb19..c07def1 100644
> --- a/randr/randr.c
> +++ b/randr/randr.c
> @@ -568,6 +568,7 @@ RRSetChanged(ScreenPtr pScreen)
> void
> RRTellChanged(ScreenPtr pScreen)
> {
> + ScreenPtr slave;
We already declare a "ScreenPtr iter" which is used
in other parts of this function to iterate over
the output_slave_list, please use that instead.
Regards,
Hans
> ScreenPtr master;
> rrScrPriv(pScreen);
> rrScrPrivPtr mastersp;
> @@ -584,6 +585,15 @@ RRTellChanged(ScreenPtr pScreen)
> mastersp = pScrPriv;
> }
>
> + xorg_list_for_each_entry(slave, &master->output_slave_list, output_head) {
> + pSlaveScrPriv = rrGetScrPriv(slave);
> +
> + if (CompareTimeStamps(mastersp->lastSetTime,
> + pSlaveScrPriv->lastSetTime) == EARLIER) {
> + mastersp->lastSetTime = pSlaveScrPriv->lastSetTime;
> + }
> + }
> +
> if (mastersp->changed) {
> UpdateCurrentTimeIf();
> if (mastersp->configChanged) {
>
More information about the xorg-devel
mailing list