On 14/06/16 23:02, Keith Packard wrote:
> This leads to and endless sequence of window resizes.
> 
> Signed-off-by: Keith Packard <[email protected]>
Tested-by: Antoine Martin <[email protected]>

Can we get this one into the stable queue?
It applies cleanly to 1.18 and fixes a bug that's quite easy to trigger.

Thanks
Antoine


> ---
>  hw/kdrive/ephyr/ephyr.c | 2 ++
>  hw/kdrive/ephyr/hostx.c | 8 ++++++++
>  hw/kdrive/ephyr/hostx.h | 3 +++
>  3 files changed, 13 insertions(+)
> 
> diff --git a/hw/kdrive/ephyr/ephyr.c b/hw/kdrive/ephyr/ephyr.c
> index 2114c1c..2bc5ccc 100644
> --- a/hw/kdrive/ephyr/ephyr.c
> +++ b/hw/kdrive/ephyr/ephyr.c
> @@ -613,7 +613,9 @@ ephyrResizeScreen (ScreenPtr           pScreen,
>      size.width = newwidth;
>      size.height = newheight;
>  
> +    hostx_size_set_from_configure(TRUE);
>      ret = ephyrRandRSetConfig (pScreen, screen->randr, 0, &size);
> +    hostx_size_set_from_configure(FALSE);
>      if (ret) {
>          RROutputPtr output;
>  
> diff --git a/hw/kdrive/ephyr/hostx.c b/hw/kdrive/ephyr/hostx.c
> index cdb12b0..d84c33b 100644
> --- a/hw/kdrive/ephyr/hostx.c
> +++ b/hw/kdrive/ephyr/hostx.c
> @@ -79,6 +79,7 @@ struct EphyrHostXVars {
>      KdScreenInfo **screens;
>  
>      long damage_debug_msec;
> +    Bool size_set_from_configure;
>  };
>  
>  /* memset ( missing> ) instead of below  */
> @@ -878,6 +879,7 @@ hostx_screen_init(KdScreenInfo *screen,
>              xallocarray(scrpriv->ximg->stride, buffer_height);
>      }
>  
> +    if (!HostX.size_set_from_configure)
>      {
>          uint32_t mask = XCB_CONFIG_WINDOW_WIDTH | XCB_CONFIG_WINDOW_HEIGHT;
>          uint32_t values[2] = {width, height};
> @@ -1213,6 +1215,12 @@ hostx_load_keymap(KeySymsPtr keySyms, CARD8 *modmap, 
> XkbControlsPtr controls)
>      return TRUE;
>  }
>  
> +void
> +hostx_size_set_from_configure(Bool ss)
> +{
> +    HostX.size_set_from_configure = ss;
> +}
> +
>  xcb_connection_t *
>  hostx_get_xcbconn(void)
>  {
> diff --git a/hw/kdrive/ephyr/hostx.h b/hw/kdrive/ephyr/hostx.h
> index 96d7394..6e0b07b 100644
> --- a/hw/kdrive/ephyr/hostx.h
> +++ b/hw/kdrive/ephyr/hostx.h
> @@ -151,6 +151,9 @@ hostx_paint_rect(KdScreenInfo *screen,
>  Bool
>  hostx_load_keymap(KeySymsPtr keySyms, CARD8 *modmap, XkbControlsPtr 
> controls);
>  
> +void
> +hostx_size_set_from_configure(Bool);
> +
>  xcb_connection_t *
>  hostx_get_xcbconn(void);
>  
> 

_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: https://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to