[PATCH weston] xwayland: fix fullscreening

Ryo Munakata ryomnktml at gmail.com
Thu Oct 30 07:14:30 PDT 2014


On Wed, 29 Oct 2014 13:44:44 +0100
Marek Chalupa <mchqwerty at gmail.com> wrote:

> set_fullscreen has been sending configure before changing the state
> and xwayland windows added border to the fullscreen size.
> 
> This fixes the bug:
> https://bugs.freedesktop.org/show_bug.cgi?id=83502
> 
> Signed-off-by: Marek Chalupa <mchqwerty at gmail.com>
> ---
>  desktop-shell/shell.c     | 4 ++--
>  xwayland/window-manager.c | 2 +-
>  2 files changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/desktop-shell/shell.c b/desktop-shell/shell.c
> index 9fafb39..8e3f79d 100644
> --- a/desktop-shell/shell.c
> +++ b/desktop-shell/shell.c
> @@ -2929,10 +2929,10 @@ shell_interface_set_fullscreen(struct shell_surface *shsurf,
>  			       struct weston_output *output)
>  {
>  	surface_clear_next_states(shsurf);
> -	set_fullscreen(shsurf, method, framerate, output);
> -
>  	shsurf->next_state.fullscreen = true;
>  	shsurf->state_changed = true;
> +
> +	set_fullscreen(shsurf, method, framerate, output);
>  }
>  
>  static int
> diff --git a/xwayland/window-manager.c b/xwayland/window-manager.c
> index 2902373..e7e5a7a 100644
> --- a/xwayland/window-manager.c
> +++ b/xwayland/window-manager.c
> @@ -2193,7 +2193,7 @@ send_configure(struct weston_surface *surface, int32_t width, int32_t height)
>  	struct theme *t = window->wm->theme;
>  	int vborder, hborder;
>  
> -	if (window->decorate) {
> +	if (window->decorate && !window->fullscreen) {
>  		hborder = 2 * t->width;
>  		vborder = t->titlebar_height + t->width;
>  	} else {
> -- 
> 1.9.3

Hi, Marek.

This patch does fix the problem.

Reviewed-by: Ryo Munakata <ryomnktml at gmail.com>

Thank you.
-- 
Ryo Munakata <ryomnktml at gmail.com>


More information about the wayland-devel mailing list