Ecore: Use calloc() to initialize Ecore_Event_Key fully

Some fields (eg. data) may not be properly initialized.
Use calloc() instead of malloc() will ensure proper initialization
even if we add more fields.

These fields (data) would even be passed down to Evas as
Evas_Event_Key_Down for instance.
This commit is contained in:
Jean-Philippe ANDRE 2015-03-25 15:29:49 -07:00
parent f30c0ea399
commit 0ef41604e8
7 changed files with 10 additions and 14 deletions

View File

@ -308,7 +308,7 @@ _device_handle_key(struct libinput_device *device, struct libinput_event_keyboar
if (!compose) compose = compose_buffer;
e = malloc(sizeof(Ecore_Event_Key) + strlen(key) + strlen(keyname) +
e = calloc(1, sizeof(Ecore_Event_Key) + strlen(key) + strlen(keyname) +
((compose[0] != '\0') ? strlen(compose) : 0) + 3);
if (!e) return;
@ -327,7 +327,6 @@ _device_handle_key(struct libinput_device *device, struct libinput_event_keyboar
e->timestamp = timestamp;
e->same_screen = 1;
e->keycode = code;
e->data = NULL;
_device_modifiers_update(edev);

View File

@ -351,7 +351,7 @@ _ecore_psl1ght_event_key(u16 key)
u16 utf16;
unsigned int i;
ev = malloc(sizeof(Ecore_Event_Key));
ev = calloc(1, sizeof(Ecore_Event_Key));
if (!ev) return NULL;
ev->timestamp = _ecore_psl1ght_get_time ();
@ -467,7 +467,7 @@ _ecore_psl1ght_pad_button (const char *name, int pressed)
{
Ecore_Event_Key *ev = NULL;
ev = malloc(sizeof(Ecore_Event_Key));
ev = calloc(1, sizeof(Ecore_Event_Key));
if (!ev) return;
ev->timestamp = _ecore_psl1ght_get_time ();

View File

@ -129,7 +129,7 @@ _ecore_sdl_event_key(SDL_Event *event, double timestamp)
Ecore_Event_Key *ev;
unsigned int i;
ev = malloc(sizeof(Ecore_Event_Key));
ev = calloc(1, sizeof(Ecore_Event_Key));
if (!ev) return NULL;
ev->timestamp = timestamp;

View File

@ -804,7 +804,7 @@ _ecore_wl_input_cb_keyboard_key(void *data, struct wl_keyboard *keyboard EINA_UN
_ecore_wl_input_keymap_translate_keysym(sym, input->modifiers,
compose, sizeof(compose));
e = malloc(sizeof(Ecore_Event_Key) + strlen(key) + strlen(keyname) +
e = calloc(1, sizeof(Ecore_Event_Key) + strlen(key) + strlen(keyname) +
((compose[0] != '\0') ? strlen(compose) : 0) + 3);
if (!e) return;

View File

@ -2401,14 +2401,13 @@ _ecore_xcb_event_key_press(xcb_generic_event_t *event)
key = _ecore_xcb_keymap_keysym_to_string(sym);
if (!key) key = keyname;
e = malloc(sizeof(Ecore_Event_Key) + strlen(key) + strlen(keyname) +
e = calloc(1, sizeof(Ecore_Event_Key) + strlen(key) + strlen(keyname) +
(compose ? strlen(compose) : 0) + 3);
if (e)
{
e->keyname = (char *)(e + 1);
e->key = e->keyname + strlen(keyname) + 1;
e->compose = NULL;
if (compose) e->compose = (e->key + strlen(key) + 1);
e->string = e->compose;
@ -2471,14 +2470,13 @@ _ecore_xcb_event_key_release(xcb_generic_event_t *event)
key = _ecore_xcb_keymap_keysym_to_string(sym);
if (!key) key = keyname;
e = malloc(sizeof(Ecore_Event_Key) + strlen(key) + strlen(keyname) +
e = calloc(1, sizeof(Ecore_Event_Key) + strlen(key) + strlen(keyname) +
(compose ? strlen(compose) : 0) + 3);
if (e)
{
e->keyname = (char *)(e + 1);
e->key = e->keyname + strlen(keyname) + 1;
e->compose = NULL;
if (compose) e->compose = (e->key + strlen(key) + 1);
e->string = e->compose;

View File

@ -366,9 +366,8 @@ _ecore_key_press(int event,
if (!key)
key = keyname;
e =
malloc(sizeof(Ecore_Event_Key) + strlen(key) + strlen(keyname) +
(compose ? strlen(compose) : 0) + 3);
e = calloc(1, sizeof(Ecore_Event_Key) + strlen(key) + strlen(keyname) +
(compose ? strlen(compose) : 0) + 3);
if (!e)
goto on_error;

View File

@ -466,7 +466,7 @@ text_input_keysym(void *data,
"key event (key: %s)",
keyname);
e = malloc(sizeof(Ecore_Event_Key) + strlen(key) + strlen(keyname) +
e = calloc(1, sizeof(Ecore_Event_Key) + strlen(key) + strlen(keyname) +
strlen(string) + 3);
if (!e) return;