[PATCH weston v2] libweston-desktop/xdg_shell_v6: Raise errors on not-yet-possible requests

Quentin Glidic sardemff7+wayland at sardemff7.net
Mon Sep 12 14:52:29 UTC 2016


On 12/09/2016 15:33, Jonas Ådahl wrote:
> On Sun, Sep 11, 2016 at 11:38:52AM +0200, Quentin Glidic wrote:
>> From: Quentin Glidic <sardemff7+git at sardemff7.net>
>>
>> These requests need a mapped surface, which can only happen after the
>> initial configure event.
>>
>> Signed-off-by: Quentin Glidic <sardemff7+git at sardemff7.net>
>
> 1 and v2 of 2 are
> Reviewed-by: Jonas Ådahl <jadahl at gmail.com>

Thanks, pushed:
e30b5fb..0abf890  master -> master

Cheers,


>
>> ---
>> Sorry for the noise, last minute rename.
>>
>>  libweston-desktop/xdg-shell-v6.c | 21 +++++++++++++++++++++
>>  1 file changed, 21 insertions(+)
>>
>> diff --git a/libweston-desktop/xdg-shell-v6.c b/libweston-desktop/xdg-shell-v6.c
>> index fbf3e69..d4d0112 100644
>> --- a/libweston-desktop/xdg-shell-v6.c
>> +++ b/libweston-desktop/xdg-shell-v6.c
>> @@ -349,6 +349,13 @@ weston_desktop_xdg_toplevel_protocol_show_window_menu(struct wl_client *wl_clien
>>  	struct weston_desktop_xdg_toplevel *toplevel =
>>  		weston_desktop_surface_get_implementation_data(dsurface);
>>
>> +	if (!toplevel->base.configured) {
>> +		wl_resource_post_error(toplevel->resource,
>> +				       ZXDG_SURFACE_V6_ERROR_NOT_CONSTRUCTED,
>> +				       "Surface has not been configured yet");
>> +		return;
>> +	}
>> +
>>  	weston_desktop_api_show_window_menu(toplevel->base.desktop,
>>  					    dsurface, seat, x, y);
>>  }
>> @@ -366,6 +373,13 @@ weston_desktop_xdg_toplevel_protocol_move(struct wl_client *wl_client,
>>  	struct weston_desktop_xdg_toplevel *toplevel =
>>  		weston_desktop_surface_get_implementation_data(dsurface);
>>
>> +	if (!toplevel->base.configured) {
>> +		wl_resource_post_error(toplevel->resource,
>> +				       ZXDG_SURFACE_V6_ERROR_NOT_CONSTRUCTED,
>> +				       "Surface has not been configured yet");
>> +		return;
>> +	}
>> +
>>  	weston_desktop_api_move(toplevel->base.desktop, dsurface, seat, serial);
>>  }
>>
>> @@ -383,6 +397,13 @@ weston_desktop_xdg_toplevel_protocol_resize(struct wl_client *wl_client,
>>  	struct weston_desktop_xdg_toplevel *toplevel =
>>  		weston_desktop_surface_get_implementation_data(dsurface);
>>
>> +	if (!toplevel->base.configured) {
>> +		wl_resource_post_error(toplevel->resource,
>> +				       ZXDG_SURFACE_V6_ERROR_NOT_CONSTRUCTED,
>> +				       "Surface has not been configured yet");
>> +		return;
>> +	}
>> +
>>  	weston_desktop_api_resize(toplevel->base.desktop,
>>  				  dsurface, seat, serial, edges);
>>  }
>> --
>> 2.10.0
>>
>> _______________________________________________
>> wayland-devel mailing list
>> wayland-devel at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/wayland-devel


-- 

Quentin “Sardem FF7” Glidic


More information about the wayland-devel mailing list