summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Michael <cp.michael@samsung.com>2014-08-03 10:34:38 -0400
committerMike Blumenkrantz <zmike@osg.samsung.com>2014-08-04 18:01:23 -0400
commit0aa6b70378ed1b4f3a6c87e7eb9f34c9701d7273 (patch)
tree9a1e54fe1b4619abe0cf209c6e20e4528b90c800
parentf592ec9048ae848c9c88c3a3544ed32d24854c80 (diff)
downloadenlightenment-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.c6
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);