multibuttonentry: fix Segfault on pressing Delete Key
authordivyesh purohit <div.purohit@samsung.com>
Fri, 5 Feb 2016 06:16:13 +0000 (07:16 +0100)
committerCedric BAIL <cedric@osg.samsung.com>
Fri, 5 Feb 2016 07:45:19 +0000 (08:45 +0100)
Summary:
Pressing "Delete" Key in MBE layout causes Segfault as MBE item is not deleted properly and also focus is not transferred back to MBE.

@fix

Signed-off-by: divyesh purohit <div.purohit@samsung.com>
Test Plan: Run MultibuttonEntry example from elementart_test . Add some MBE items, now press the delete key, it should delete items without causing segfaults and transfer focus to previous MBE item.

Reviewers: raster, cedric, CHAN, shilpasingh

Reviewed By: shilpasingh

Subscribers: rajeshps, govi

Differential Revision: https://phab.enlightenment.org/D3635

Signed-off-by: Cedric BAIL <cedric@osg.samsung.com>
legacy/elementary/src/lib/elc_multibuttonentry.c

index 643610e..71aa198 100644 (file)
@@ -1120,6 +1120,7 @@ _layout_key_down_cb(void *data,
              Elm_Multibuttonentry_Item_Data *item = sd->selected_it;
              if (item && sd->editable)
                {
+                  sd->items = eina_list_remove(sd->items, EO_OBJ(item));
                   eo_do(EO_OBJ(item), elm_wdg_item_del());
                   elm_object_focus_set(sd->entry, EINA_TRUE);
                }