[PATCH 1/4] randr: don't directly set changed bits in randr screen

Peter Hutterer peter.hutterer at who-t.net
Thu Jan 10 15:07:17 PST 2013


On Wed, Jan 09, 2013 at 02:32:47PM +1000, Dave Airlie wrote:
> From: Dave Airlie <airlied at redhat.com>
> 
> Introduce a wrapper interface so we can fix things up for multi-gpu
> situations later.
> 
> This just introduces the API for now.
> 
> Signed-off-by: Dave Airlie <airlied at redhat.com>

series: Reviewed-by: Peter Hutterer <peter.hutterer at who-t.net>

Cheers,
   Peter


> ---
>  randr/randr.c    | 8 ++++++++
>  randr/randrstr.h | 4 ++++
>  randr/rrcrtc.c   | 2 +-
>  randr/rrinfo.c   | 2 +-
>  randr/rroutput.c | 2 +-
>  randr/rrscreen.c | 2 +-
>  6 files changed, 16 insertions(+), 4 deletions(-)
> 
> diff --git a/randr/randr.c b/randr/randr.c
> index f0decfc..11f88b2 100644
> --- a/randr/randr.c
> +++ b/randr/randr.c
> @@ -464,6 +464,14 @@ TellChanged(WindowPtr pWin, pointer value)
>      return WT_WALKCHILDREN;
>  }
>  
> +void
> +RRSetChanged(ScreenPtr pScreen)
> +{
> +    rrScrPriv(pScreen);
> +
> +    pScrPriv->changed = TRUE;
> +}
> +
>  /*
>   * Something changed; send events and adjust pointer position
>   */
> diff --git a/randr/randrstr.h b/randr/randrstr.h
> index cc3ab1d..2baf0ca 100644
> --- a/randr/randrstr.h
> +++ b/randr/randrstr.h
> @@ -486,6 +486,10 @@ extern _X_EXPORT void
>   RRDeliverScreenEvent(ClientPtr client, WindowPtr pWin, ScreenPtr pScreen);
>  
>  /* randr.c */
> +/* set a screen change on the primary screen */
> +extern _X_EXPORT void
> +RRSetChanged(ScreenPtr pScreen);
> +
>  /*
>   * Send all pending events
>   */
> diff --git a/randr/rrcrtc.c b/randr/rrcrtc.c
> index e82d050..d57cc08 100644
> --- a/randr/rrcrtc.c
> +++ b/randr/rrcrtc.c
> @@ -39,7 +39,7 @@ RRCrtcChanged(RRCrtcPtr crtc, Bool layoutChanged)
>      if (pScreen) {
>          rrScrPriv(pScreen);
>  
> -        pScrPriv->changed = TRUE;
> +        RRSetChanged(pScreen);
>          /*
>           * Send ConfigureNotify on any layout change
>           */
> diff --git a/randr/rrinfo.c b/randr/rrinfo.c
> index 1408d6f..fc57bd4 100644
> --- a/randr/rrinfo.c
> +++ b/randr/rrinfo.c
> @@ -225,7 +225,7 @@ RRScreenSetSizeRange(ScreenPtr pScreen,
>      pScrPriv->minHeight = minHeight;
>      pScrPriv->maxWidth = maxWidth;
>      pScrPriv->maxHeight = maxHeight;
> -    pScrPriv->changed = TRUE;
> +    RRSetChanged(pScreen);
>      pScrPriv->configChanged = TRUE;
>  }
>  
> diff --git a/randr/rroutput.c b/randr/rroutput.c
> index 88781ba..922d61f 100644
> --- a/randr/rroutput.c
> +++ b/randr/rroutput.c
> @@ -36,7 +36,7 @@ RROutputChanged(RROutputPtr output, Bool configChanged)
>      output->changed = TRUE;
>      if (pScreen) {
>          rrScrPriv(pScreen);
> -        pScrPriv->changed = TRUE;
> +        RRSetChanged(pScreen);
>          if (configChanged)
>              pScrPriv->configChanged = TRUE;
>      }
> diff --git a/randr/rrscreen.c b/randr/rrscreen.c
> index 39340cc..36179ae 100644
> --- a/randr/rrscreen.c
> +++ b/randr/rrscreen.c
> @@ -143,7 +143,7 @@ RRScreenSizeNotify(ScreenPtr pScreen)
>      pScrPriv->height = pScreen->height;
>      pScrPriv->mmWidth = pScreen->mmWidth;
>      pScrPriv->mmHeight = pScreen->mmHeight;
> -    pScrPriv->changed = TRUE;
> +    RRSetChanged(pScreen);
>  /*    pScrPriv->sizeChanged = TRUE; */
>  
>      RRTellChanged(pScreen);
> -- 
> 1.8.1
> 
> _______________________________________________
> xorg-devel at lists.x.org: X.Org development
> Archives: http://lists.x.org/archives/xorg-devel
> Info: http://lists.x.org/mailman/listinfo/xorg-devel
> 


More information about the xorg-devel mailing list