Fix elm apps crashing from invalid e_remember

Don't set changes.icon during surface creation. There are functions
that get called when icccm.class changes and That is the place to set
changes.icon.

Signed-off-by: Chris Michael <cp.michael@samsung.com>

Additional authors: zmike
This commit is contained in:
Chris Michael 2014-08-03 10:34:38 -04:00
parent 8fa7e4f59d
commit d9cdcdbef4
1 changed files with 2 additions and 4 deletions

View File

@ -97,7 +97,7 @@ _e_shell_surface_cb_destroy(struct wl_resource *resource)
{
E_Client *ec;
DBG("Shell Surface Destroy: %d", wl_resource_get_id(resource));
/* DBG("Shell Surface Destroy: %d", wl_resource_get_id(resource)); */
/* get the client for this resource */
if ((ec = wl_resource_get_user_data(resource)))
@ -260,7 +260,6 @@ _e_shell_surface_cb_toplevel_set(struct wl_client *client EINA_UNUSED, struct wl
ec->borderless = !ec->internal;
ec->lock_border = EINA_TRUE;
ec->border.changed = ec->changes.border = !ec->borderless;
ec->changes.icon = !!ec->icccm.class;
ec->netwm.type = E_WINDOW_TYPE_NORMAL;
ec->comp_data->set_win_type = EINA_TRUE;
if ((!ec->lock_user_maximize) && (ec->maximized))
@ -724,7 +723,7 @@ _e_xdg_shell_surface_cb_app_id_set(struct wl_client *client EINA_UNUSED, struct
/* set class */
eina_stringshare_replace(&ec->icccm.class, id);
/* eina_stringshare_replace(&ec->netwm.name, id); */
ec->changes.icon = EINA_TRUE;
ec->changes.icon = !!ec->icccm.class;
EC_CHANGED(ec);
}
@ -1226,7 +1225,6 @@ _e_xdg_shell_cb_surface_get(struct wl_client *client, struct wl_resource *resour
ec->borderless = !ec->internal;
ec->lock_border = EINA_TRUE;
ec->border.changed = ec->changes.border = !ec->borderless;
ec->changes.icon = !!ec->icccm.class;
ec->netwm.type = E_WINDOW_TYPE_NORMAL;
ec->comp_data->set_win_type = EINA_TRUE;
EC_CHANGED(ec);