From 9f81abb72908a47c911dff1ce6afb4750441df7c Mon Sep 17 00:00:00 2001 From: Seunghun Lee Date: Thu, 12 Jun 2014 09:07:21 -0400 Subject: [PATCH] use eina_hash_int64_new to create hash table "clients_win_hash" in case wayland, instead of eina_hash_int32_new. Summary: since the data as a key of hash is 64bit integers, clients_win_hash should be created to int64. if not, loss of data can occur when add or delete data from hash table. Test Plan: (1) run any application. (added ec to hash table) (2) close the application. (try to delete ec from hash table, but couldn't) (3) after that, if _e_comp_wl_cb_render_post is called, since refer to ec which was already freed, enlightenment had been crashed. Reviewers: devilhorns, zmike, raster CC: cedric Differential Revision: https://phab.enlightenment.org/D1006 --- src/bin/e_comp_wl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/e_comp_wl.c b/src/bin/e_comp_wl.c index eb63f83ba..cb859311a 100644 --- a/src/bin/e_comp_wl.c +++ b/src/bin/e_comp_wl.c @@ -2134,7 +2134,7 @@ e_comp_wl_init(void) } /* create hash to store client windows */ - clients_win_hash = eina_hash_int32_new(NULL); + clients_win_hash = eina_hash_int64_new(NULL); /* setup event handlers for e events */ E_LIST_HANDLER_APPEND(handlers, E_EVENT_COMP_OBJECT_ADD,