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
This commit is contained in:
Seunghun Lee 2014-06-12 09:07:21 -04:00 committed by Chris Michael
parent a13179dc9d
commit 9f81abb729
1 changed files with 1 additions and 1 deletions

View File

@ -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,