{
uint32_t *s;
struct wl_array states;
+ Eina_Bool array_added = EINA_FALSE;
if (!toplevel->resource) return;
if (toplevel->pending.state.maximized)
{
s = wl_array_add(&states, sizeof(uint32_t));
+ if (!s) goto err;
+ array_added = EINA_TRUE;
*s = ZXDG_TOPLEVEL_V6_STATE_MAXIMIZED;
}
if (toplevel->pending.state.fullscreen)
{
s = wl_array_add(&states, sizeof(uint32_t));
+ if (!s) goto err;
+ array_added = EINA_TRUE;
*s = ZXDG_TOPLEVEL_V6_STATE_FULLSCREEN;
}
if (toplevel->pending.state.resizing)
{
s = wl_array_add(&states, sizeof(uint32_t));
+ if (!s) goto err;
+ array_added = EINA_TRUE;
*s = ZXDG_TOPLEVEL_V6_STATE_RESIZING;
}
if (toplevel->pending.state.activated)
{
s = wl_array_add(&states, sizeof(uint32_t));
+ if (!s) goto err;
*s = ZXDG_TOPLEVEL_V6_STATE_ACTIVATED;
}
&states);
wl_array_release(&states);
+ return;
+
+err:
+ ERR("Failed on adding item to states !", toplevel->base.ec);
+ if (array_added) wl_array_release(&states);
+ return;
}
static void