fix N_SE-55767
authorGwangbok Kim <gwangbok.kim@samsung.com>
Wed, 23 Oct 2013 05:58:39 +0000 (14:58 +0900)
committerGwangbok Kim <gwangbok.kim@samsung.com>
Wed, 23 Oct 2013 06:14:58 +0000 (15:14 +0900)
Change-Id: I8802f9ae644b095fa885e4e7d64c7cd2bf540ec0
Signed-off-by: Gwangbok Kim <gwangbok.kim@samsung.com>
project/src/DetailViewForm.cpp

index d7b7b8e..cd22ca2 100644 (file)
@@ -501,9 +501,26 @@ DetailViewForm::ChangeFavoriteStatus(void)
        result r = E_SUCCESS;
        Header* pHeader = GetHeader();
 
-       if (__pPerson->IsFavorite() == true)
+       Person* pPerson = __pAddressbookMgr->GetPersonN(__pPerson->GetId());
+       if (pPerson == null)
+       {
+               SceneManager* pSceneManager = SceneManager::GetInstance();
+               AppAssert(pSceneManager);
+
+               MessageBox messageBox;
+               messageBox.Construct(L"Error", "The person doesn't exist.", MSGBOX_STYLE_OK, 0);
+               int doModal;
+               messageBox.ShowAndWait(doModal);
+
+               pSceneManager->GoBackward(BackwardSceneTransition(__previousSceneId, SCENE_TRANSITION_ANIMATION_TYPE_RIGHT));
+
+               return r;
+       }
+
+       if (pPerson->IsFavorite() == true)
        {
-               r = __pPerson->SetAsFavorite(false);
+               r = pPerson->SetAsFavorite(false);
+               delete pPerson;
                TryReturn(!IsFailed(r), r, "Failed to set person as favorite. (%s)", GetErrorMessage(r));
 
                pHeader->SetButtonTextColor(BUTTON_ITEM_STATUS_NORMAL, __normalTextColor);
@@ -512,7 +529,8 @@ DetailViewForm::ChangeFavoriteStatus(void)
 
        else
        {
-               r = __pPerson->SetAsFavorite(true);
+               r = pPerson->SetAsFavorite(true);
+               delete pPerson;
                TryReturn(!IsFailed(r), r, "Failed to set person as favorite. (%s)", GetErrorMessage(r));
 
                pHeader->SetButtonTextColor(BUTTON_ITEM_STATUS_NORMAL, __favoriteTextColor);