genlist : fix crash in genlist selected_set in TC 05/95905/1
authorSangHyeon Lee <sh10233.lee@samsung.com>
Mon, 7 Nov 2016 05:18:24 +0000 (14:18 +0900)
committerSangHyeon Lee <sh10233.lee@samsung.com>
Mon, 7 Nov 2016 05:33:15 +0000 (21:33 -0800)
Change-Id: Ifdbc09b795d176ea78651882cf39b6f632b0594b
Signed-off-by: SangHyeon Lee <sh10233.lee@samsung.com>
(cherry picked from commit e2b2cbf92843c2882076ecd9a93bed8254dcd7bc)

src/mobile_lib/elm_genlist.c

index 243db0c9defcd5e7a0c9a297ada11891415d93f6..2d52e5020138d60493401d19da9a5df8db03d5cc 100644 (file)
@@ -2563,7 +2563,7 @@ static void _item_unfocused(Elm_Gen_Item *it)
 {
    if (!it) return;
    Elm_Genlist_Data *sd = GL_IT(it)->wsd;
-   if (!sd->focused_item) return;
+   if (!sd->focused_item || it != sd->focused_item) return;
    Evas_Object *content = sd->focused_content;
 
    if (content)
@@ -2577,7 +2577,7 @@ static void _item_unfocused(Elm_Gen_Item *it)
    if (sd->focused_item->deco_all_view)
       edje_object_signal_emit
          (sd->focused_item->deco_all_view, SIGNAL_UNFOCUSED, "elm");
-   if (it == sd->focused_item) sd->focused_item = NULL;
+   sd->focused_item = NULL;
    evas_object_smart_callback_call(WIDGET(it), SIG_ITEM_UNFOCUSED, EO_OBJ(it));
 }
 
@@ -2814,8 +2814,8 @@ _item_select(Elm_Gen_Item *it)
      }
 
    edje_object_signal_emit
-          (VIEW(sd->focused_item), SIGNAL_CLICKED, "elm");
-   edje_object_message_signal_process(VIEW(sd->focused_item));
+          (VIEW(it), SIGNAL_CLICKED, "elm");
+   edje_object_message_signal_process(VIEW(it));
    evas_object_ref(obj);
    if (it->func.func) it->func.func((void *)it->func.data, obj, EO_OBJ(it));
    if (EINA_MAGIC_CHECK(it->base, ELM_WIDGET_ITEM_MAGIC))