if (sd->aligned_item)
{
+ //TIZEN_ONLY(20200414): Codes for safety check
+ Elm_Gen_Item *temp = sd->aligned_item;
+ //
+
evas_object_smart_callback_call(WIDGET(sd->aligned_item), SIG_ALIGNED_ITEM_DETECTED, EO_OBJ(sd->aligned_item));
+ //TIZEN_ONLY(20200414): During callback application can trigger item update
+ //operations which can reset align item for doing self align operation again
+ if (temp != sd->aligned_item)
+ {
+ ERR("Item update operations are not allowed in aligned,item,detected callback");
+ return;
+ }
+ //
+
if (sd->aligned_item->selected && sd->aligned_item == sd->selecting_item)
{
if (GL_IT(sd->aligned_item)->highlight_timer)
// TIZEN_ONLY(20161230): Optimization for application launch on item show scenario
if (psd->wsd->aligned_item)
{
+ //TIZEN_ONLY(20200414): During callback application can trigger item update
+ //operations which can reset align item for doing self align operation again
+ edje_object_signal_emit(VIEW(psd->wsd->aligned_item), SIGNAL_ITEM_UNHIGHLIGHTED, "elm");
+ //
evas_object_smart_callback_call(WIDGET(psd->wsd->aligned_item), SIG_ALIGNED_ITEM_DETECTED, NULL);
edje_object_signal_emit(VIEW(psd->wsd->aligned_item), SIGNAL_ITEM_UNHIGHLIGHTED, "elm");
psd->wsd->aligned_item = NULL;