From: Jongmin Lee Date: Thu, 7 May 2020 23:46:50 +0000 (+0900) Subject: rotary_selector: fix deferenced of null return value X-Git-Tag: submit/tizen/20200508.001045^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5dbead2bf97cf5230ce48c1194110c56455027e5;p=platform%2Fcore%2Fuifw%2Fefl-ext.git rotary_selector: fix deferenced of null return value Change-Id: I83afbf111d096227f0d1ff40178696b2d7e9704f --- diff --git a/src/wearable/efl_extension_rotary_selector.c b/src/wearable/efl_extension_rotary_selector.c index 3ec36ed..f49c6f8 100644 --- a/src/wearable/efl_extension_rotary_selector.c +++ b/src/wearable/efl_extension_rotary_selector.c @@ -639,7 +639,7 @@ _dnd_end(Eext_Rotary_Selector_Data *data) if (rsd->is_item_animating) { item = eina_list_nth(rsd->item_list, rsd->drag_item_index); - rsd->item_list = eina_list_prepend_relative(rsd->item_list, rsd->tmp_drag_item, item); + if (item) rsd->item_list = eina_list_prepend_relative(rsd->item_list, rsd->tmp_drag_item, item); rsd->is_item_animating = EINA_FALSE; } @@ -649,7 +649,7 @@ _dnd_end(Eext_Rotary_Selector_Data *data) rsd->tmp_drag_item = NULL; item = eina_list_nth(rsd->item_list, rsd->drop_item_index); - rsd->item_list = eina_list_prepend_relative(rsd->item_list, rsd->drag_item, item); + if (item) rsd->item_list = eina_list_prepend_relative(rsd->item_list, rsd->drag_item, item); evas_object_show(rsd->drag_item->base.obj); _item_rearrange(rsd, rsd->selected_index); @@ -784,7 +784,7 @@ _drag_item_move_animator_cb(void *data) { idx2 = last_index; item = eina_list_nth(rsd->item_list, last_index); - evas_object_hide(item->base.obj); + if (item) evas_object_hide(item->base.obj); } } else @@ -794,7 +794,7 @@ _drag_item_move_animator_cb(void *data) idx1 = first_index; //tmp_drag_item was removed from the list, must subtract 1 item = eina_list_nth(rsd->item_list, first_index - 1); - evas_object_hide(item->base.obj); + if (item) evas_object_hide(item->base.obj); } } @@ -852,13 +852,13 @@ _drag_item_move_animator_cb(void *data) else { pos_item = eina_list_nth(rsd->item_list, rsd->drop_item_index); - rsd->item_list = eina_list_prepend_relative(rsd->item_list, rsd->tmp_drag_item, pos_item); + if (pos_item) rsd->item_list = eina_list_prepend_relative(rsd->item_list, rsd->tmp_drag_item, pos_item); } } else { pos_item = eina_list_nth(rsd->item_list, rsd->drop_item_index); - rsd->item_list = eina_list_prepend_relative(rsd->item_list, rsd->tmp_drag_item, pos_item); + if (pos_item) rsd->item_list = eina_list_prepend_relative(rsd->item_list, rsd->tmp_drag_item, pos_item); } _item_rearrange(rsd, rsd->selected_index); _items_transformation_update(rsd); @@ -1395,7 +1395,7 @@ _event_area_mouse_up_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) { Eext_Rotary_Selector_Item *it = NULL; it = eina_list_nth(rsd->item_list, new_index); - _delete_item(rsd, it); + if (it) _delete_item(rsd, it); } } else if (rsd->add_enabled && (new_index == add_idx))