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);
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);