diff options
author | Chris Michael <cp.michael@samsung.com> | 2014-08-03 10:34:38 -0400 |
---|---|---|
committer | Mike Blumenkrantz <zmike@osg.samsung.com> | 2014-08-04 18:01:23 -0400 |
commit | 0aa6b70378ed1b4f3a6c87e7eb9f34c9701d7273 (patch) | |
tree | 9a1e54fe1b4619abe0cf209c6e20e4528b90c800 | |
parent | f592ec9048ae848c9c88c3a3544ed32d24854c80 (diff) | |
download | enlightenment-0aa6b70378ed1b4f3a6c87e7eb9f34c9701d7273.tar.gz |
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
-rw-r--r-- | src/modules/wl_desktop_shell/e_mod_main.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/src/modules/wl_desktop_shell/e_mod_main.c b/src/modules/wl_desktop_shell/e_mod_main.c index 96bb014acf..2505a352c3 100644 --- a/src/modules/wl_desktop_shell/e_mod_main.c +++ b/src/modules/wl_desktop_shell/e_mod_main.c @@ -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); |