summaryrefslogtreecommitdiff
path: root/src/lib/elementary/efl_ui_textbox.c
diff options
context:
space:
mode:
authorMarcel Hollerbach <mail@marcel-hollerbach.de>2020-03-09 16:59:33 +0100
committerMarcel Hollerbach <mail@marcel-hollerbach.de>2020-03-09 17:10:40 +0100
commitfa988becd275853479a0dbfed521c0161c727a28 (patch)
tree0436a0122c80d1a26d6efa279167a40325dc371f /src/lib/elementary/efl_ui_textbox.c
parent6524b0a155e774c5da93547e9ac052f478e98a92 (diff)
downloadefl-fa988becd275853479a0dbfed521c0161c727a28.tar.gz
efl_ui_textbox: dont leak a array when no type is available
this fixes a possible leak.
Diffstat (limited to 'src/lib/elementary/efl_ui_textbox.c')
-rw-r--r--src/lib/elementary/efl_ui_textbox.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/lib/elementary/efl_ui_textbox.c b/src/lib/elementary/efl_ui_textbox.c
index 3ffa3e096a..11f79b23fd 100644
--- a/src/lib/elementary/efl_ui_textbox.c
+++ b/src/lib/elementary/efl_ui_textbox.c
@@ -529,19 +529,21 @@ static void
_dnd_drop_cb(void *data EINA_UNUSED, const Efl_Event *ev)
{
Efl_Ui_Drop_Event *drop = ev->info;
- Eina_Future *future;
+
Eina_Array *types;
EFL_UI_TEXT_DATA_GET(ev->object, sd);
types = _figure_out_types(ev->object, sd);
- if (!_accepting_drops(ev->object, sd, drop->available_types))
- return;
+ if (_accepting_drops(ev->object, sd, drop->available_types))
+ {
+ Eina_Future *future;
- future = efl_ui_dnd_drop_data_get(ev->object, 0, eina_array_iterator_new(types));
- eina_array_free(types);
+ future = efl_ui_dnd_drop_data_get(ev->object, evas_device_seat_id_get(evas_default_device_get(evas_object_evas_get(ev->object), EFL_INPUT_DEVICE_TYPE_SEAT)), eina_array_iterator_new(types));
+ efl_future_then(ev->object, future, _selection_data_cb);
+ }
- efl_future_then(ev->object, future, _selection_data_cb);
+ eina_array_free(types);
}
/* we can't reuse layout's here, because it's on entry_edje only */