forked from enlightenment/efl
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:
parent
f30c0ea399
commit
0ef41604e8
|
@ -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);
|
||||
|
||||
|
|
|
@ -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 ();
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
Loading…
Reference in New Issue