rotary_selector: fix deferenced of null return value 25/232825/1 accepted/tizen/unified/20200510.220351 submit/tizen/20200508.001045
authorJongmin Lee <jm105.lee@samsung.com>
Thu, 7 May 2020 23:46:50 +0000 (08:46 +0900)
committerJongmin Lee <jm105.lee@samsung.com>
Thu, 7 May 2020 23:46:50 +0000 (08:46 +0900)
Change-Id: I83afbf111d096227f0d1ff40178696b2d7e9704f

src/wearable/efl_extension_rotary_selector.c

index 3ec36ede6237d709fbb20725e7d4495f5ee883a2..f49c6f810f8f14b6d4b31565a7d01db2d73c50f9 100644 (file)
@@ -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))