Fix Bugs 07/37607/1
authorKim Tae Soo <taesoo46.kim@samsung.com>
Wed, 1 Apr 2015 01:11:04 +0000 (10:11 +0900)
committerKim Tae Soo <taesoo46.kim@samsung.com>
Wed, 1 Apr 2015 01:11:04 +0000 (10:11 +0900)
1. Apply elm_genlist_item_selected_set(xxx, EINA_FALSE) to selected item to select the same item next time.
2. Fix memory leak in CCategoryLayout.

Change-Id: I5180ca087a450f92406dc8ab6971a7c0b7fb6c96
Signed-off-by: Kim Tae Soo <taesoo46.kim@samsung.com>
src/views/album-songs-layout.cpp
src/views/category-layout.cpp
src/views/category-songs-layout.cpp
src/views/song-layout.cpp

index 3708865..21ff64f 100644 (file)
@@ -222,16 +222,18 @@ void CAlbumSongsLayout::m_OnItemSelect(Evas_Object *obj, void *event_info)
 {
        SAlbumSongsItemInfo *itinfo = NULL;
        char *mediaId = NULL;
+       Elm_Object_Item *selectedItem = (Elm_Object_Item *)event_info;
 
-       itinfo = m_FindItemInfoFromItem(m->it_infolist, (Elm_Object_Item *)event_info);
+       itinfo = m_FindItemInfoFromItem(m->it_infolist, selectedItem);
        if (!itinfo) {
                _ERR(" no item info found ");
                return;
        }
 
        mediaId = itinfo->sinfo->Id();
-
        m_GotoPlayback(ADD_TYPE_FRESH, mediaId);
+
+       elm_genlist_item_selected_set(selectedItem, EINA_FALSE);
 }
 
 
index bdfc873..57857d1 100644 (file)
@@ -1226,6 +1226,7 @@ void CCategoryLayout::Destroy(void)
        CExtBaseLayout::Destroy();
        evas_object_del(Layout());
 
+       free(t.ctxtinfo);
        delete m;
        m = NULL;
 }
index 6c2eb3c..87b0531 100644 (file)
@@ -324,11 +324,12 @@ void CCategorySongsLayout::m_OnSongItemSelect(Evas_Object *obj, Elm_Object_Item
 {
        SCategorySongsItemsInfo *itinfo = NULL;
        char *id = NULL;
+       Elm_Object_Item *selectedItem = (Elm_Object_Item *)event_info;
 
        if (!m || !obj)
                return;
 
-       itinfo = m_FindItemInfoFromItem(m->it_infolist, (Elm_Object_Item *)event_info);
+       itinfo = m_FindItemInfoFromItem(m->it_infolist, selectedItem);
        if (!itinfo) {
                _ERR(" no item info found ");
                return;
@@ -340,6 +341,8 @@ void CCategorySongsLayout::m_OnSongItemSelect(Evas_Object *obj, Elm_Object_Item
        }
 
        m_GotoPlayback(ADD_TYPE_FRESH, id);
+
+       elm_genlist_item_selected_set(selectedItem, EINA_FALSE);
 }
 
 
index 4283548..5eb8d35 100644 (file)
@@ -256,8 +256,9 @@ void CSongLayout::m_OnItemSelect(Evas_Object *obj, void *event_info)
 {
        SSongItemInfo *itinfo = NULL;
        char *mediaId = NULL;
+       Elm_Object_Item *selectedItem = (Elm_Object_Item *)event_info;
 
-       itinfo = m_FindItemInfoFromItem(m->it_infolist, (Elm_Object_Item *)event_info);
+       itinfo = m_FindItemInfoFromItem(m->it_infolist, selectedItem);
        if (!itinfo) {
                _ERR(" no item info found ");
                return;
@@ -270,6 +271,8 @@ void CSongLayout::m_OnItemSelect(Evas_Object *obj, void *event_info)
        m->mhandle->SetCurrentSong(mediaId);
 
        m_GotoPlayback();
+
+       elm_genlist_item_selected_set(selectedItem, EINA_FALSE);
 }