summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@osg.samsung.com>2017-01-13 11:35:26 -0500
committerMike Blumenkrantz <zmike@osg.samsung.com>2017-01-13 11:35:20 -0500
commit7716f58b5d10ac3159488e69cd8d37cc0318da71 (patch)
tree5010bc030690f7b905fbdc42a41ab2d4d6856a82
parentaba6687b3068d0e59a3fe7578a8c6a81288081bb (diff)
throw xdg6 errors for unconfigured buffers as spec requires
-rw-r--r--src/modules/wl_desktop_shell/xdg6.c21
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 a541cbf07..f9bfd5a9a 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
857 return; 857 return;
858 } 858 }
859 if (e_object_is_del(E_OBJECT(ec))) return; 859 if (e_object_is_del(E_OBJECT(ec))) return;
860 if (e_pixmap_usable_get(ec->pixmap))
861 {
862 wl_resource_post_error(resource,
863 ZXDG_SURFACE_V6_ERROR_UNCONFIGURED_BUFFER,
864 "buffer attached/committed before configure");
865 return;
866 }
860 p = wl_resource_get_user_data(positioner_resource); 867 p = wl_resource_get_user_data(positioner_resource);
861 if (!p) 868 if (!p)
862 { 869 {
@@ -1177,6 +1184,13 @@ _e_xdg_surface_cb_toplevel_get(struct wl_client *client EINA_UNUSED, struct wl_r
1177 return; 1184 return;
1178 } 1185 }
1179 if (e_object_is_del(E_OBJECT(ec))) return; 1186 if (e_object_is_del(E_OBJECT(ec))) return;
1187 if (e_pixmap_usable_get(ec->pixmap))
1188 {
1189 wl_resource_post_error(resource,
1190 ZXDG_SURFACE_V6_ERROR_UNCONFIGURED_BUFFER,
1191 "buffer attached/committed before configure");
1192 return;
1193 }
1180 1194
1181 cdata = ec->comp_data; 1195 cdata = ec->comp_data;
1182 if (cdata->shell.surface) 1196 if (cdata->shell.surface)
@@ -1268,6 +1282,13 @@ _e_xdg_shell_cb_surface_get(struct wl_client *client, struct wl_resource *resour
1268 return; 1282 return;
1269 } 1283 }
1270 if (e_object_is_del(E_OBJECT(ec))) return; 1284 if (e_object_is_del(E_OBJECT(ec))) return;
1285 if (e_pixmap_usable_get(ec->pixmap))
1286 {
1287 wl_resource_post_error(surface_resource,
1288 ZXDG_SURFACE_V6_ERROR_UNCONFIGURED_BUFFER,
1289 "buffer attached/committed before configure");
1290 return;
1291 }
1271 1292
1272 ec->netwm.ping = 1; 1293 ec->netwm.ping = 1;
1273 cdata = ec->comp_data; 1294 cdata = ec->comp_data;