diff options
author | Mike Blumenkrantz <zmike@osg.samsung.com> | 2017-01-13 11:35:26 -0500 |
---|---|---|
committer | Mike Blumenkrantz <zmike@osg.samsung.com> | 2017-01-13 11:35:20 -0500 |
commit | 7716f58b5d10ac3159488e69cd8d37cc0318da71 (patch) | |
tree | 5010bc030690f7b905fbdc42a41ab2d4d6856a82 | |
parent | aba6687b3068d0e59a3fe7578a8c6a81288081bb (diff) | |
download | enlightenment-7716f58b5d10ac3159488e69cd8d37cc0318da71.tar.gz |
throw xdg6 errors for unconfigured buffers as spec requires
-rw-r--r-- | src/modules/wl_desktop_shell/xdg6.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/modules/wl_desktop_shell/xdg6.c b/src/modules/wl_desktop_shell/xdg6.c index a541cbf075..f9bfd5a9a9 100644 --- a/src/modules/wl_desktop_shell/xdg6.c +++ b/src/modules/wl_desktop_shell/xdg6.c @@ -857,6 +857,13 @@ _e_xdg_surface_cb_popup_get(struct wl_client *client, struct wl_resource *resour return; } if (e_object_is_del(E_OBJECT(ec))) return; + if (e_pixmap_usable_get(ec->pixmap)) + { + wl_resource_post_error(resource, + ZXDG_SURFACE_V6_ERROR_UNCONFIGURED_BUFFER, + "buffer attached/committed before configure"); + return; + } p = wl_resource_get_user_data(positioner_resource); if (!p) { @@ -1177,6 +1184,13 @@ _e_xdg_surface_cb_toplevel_get(struct wl_client *client EINA_UNUSED, struct wl_r return; } if (e_object_is_del(E_OBJECT(ec))) return; + if (e_pixmap_usable_get(ec->pixmap)) + { + wl_resource_post_error(resource, + ZXDG_SURFACE_V6_ERROR_UNCONFIGURED_BUFFER, + "buffer attached/committed before configure"); + return; + } cdata = ec->comp_data; if (cdata->shell.surface) @@ -1268,6 +1282,13 @@ _e_xdg_shell_cb_surface_get(struct wl_client *client, struct wl_resource *resour return; } if (e_object_is_del(E_OBJECT(ec))) return; + if (e_pixmap_usable_get(ec->pixmap)) + { + wl_resource_post_error(surface_resource, + ZXDG_SURFACE_V6_ERROR_UNCONFIGURED_BUFFER, + "buffer attached/committed before configure"); + return; + } ec->netwm.ping = 1; cdata = ec->comp_data; |