[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