diff --git a/legacy/elementary/src/lib/elm_entry.c b/legacy/elementary/src/lib/elm_entry.c index 0401604429..3eb4c1121b 100644 --- a/legacy/elementary/src/lib/elm_entry.c +++ b/legacy/elementary/src/lib/elm_entry.c @@ -687,7 +687,6 @@ _drag_drop_cb(void *data EINA_UNUSED, Elm_Selection_Data *drop) { Eina_Bool rv; - char *buf; ELM_ENTRY_DATA_GET(obj, sd); @@ -698,20 +697,12 @@ _drag_drop_cb(void *data EINA_UNUSED, if (!rv) WRN("Warning: Failed to position cursor: paste anyway"); - buf = malloc(drop->len + 1); - if (!buf) - { - ERR("Failed to allocate memory for dropped text %p", obj); - return EINA_FALSE; - } - memcpy(buf, drop->data, drop->len); - buf[drop->len] = '\0'; - elm_entry_entry_insert(obj, buf); - free(buf); + rv = _selection_data_cb(NULL, obj, drop); + edje_object_part_text_cursor_copy (sd->entry_edje, "elm.text", EDJE_CURSOR_USER, /*->*/ EDJE_CURSOR_MAIN); - return EINA_TRUE; + return rv; } static Elm_Sel_Format