On Sat, Sep 29, 2012 at 02:03:11AM -0600, Scott Moreau wrote:
> ---
> 
> It seems only wscreensaver and tablet-shell use output_get_allocation(). This
> fixes a problem when screensaver gets the wrong size for transformed outputs
> where width and height are swapped.

Looks good, thanks.

Kristian

>  clients/window.c | 19 +++++++++++++++++--
>  1 file changed, 17 insertions(+), 2 deletions(-)
> 
> diff --git a/clients/window.c b/clients/window.c
> index 41f9d2c..0a66e65 100644
> --- a/clients/window.c
> +++ b/clients/window.c
> @@ -237,6 +237,7 @@ struct output {
>       struct wl_output *output;
>       struct rectangle allocation;
>       struct wl_list link;
> +     int transform;
>  
>       display_output_handler_t destroy_handler;
>       void *user_data;
> @@ -3441,6 +3442,7 @@ display_handle_geometry(void *data,
>  
>       output->allocation.x = x;
>       output->allocation.y = y;
> +     output->transform = transform;
>  }
>  
>  static void
> @@ -3533,9 +3535,22 @@ output_set_destroy_handler(struct output *output,
>  }
>  
>  void
> -output_get_allocation(struct output *output, struct rectangle *allocation)
> +output_get_allocation(struct output *output, struct rectangle *base)
>  {
> -     *allocation = output->allocation;
> +     struct rectangle allocation = output->allocation;
> +
> +     switch (output->transform) {
> +     case WL_OUTPUT_TRANSFORM_90:
> +     case WL_OUTPUT_TRANSFORM_270:
> +     case WL_OUTPUT_TRANSFORM_FLIPPED_90:
> +     case WL_OUTPUT_TRANSFORM_FLIPPED_270:
> +             /* Swap width and height */
> +             allocation.width = output->allocation.height;
> +             allocation.height = output->allocation.width;
> +             break;
> +     }
> +
> +     *base = allocation;
>  }
>  
>  struct wl_output *
> -- 
> 1.7.11.4
> 
> _______________________________________________
> wayland-devel mailing list
> [email protected]
> http://lists.freedesktop.org/mailman/listinfo/wayland-devel
_______________________________________________
wayland-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to