fix memory leak
authorGwangbok Kim <gwangbok.kim@samsung.com>
Tue, 22 Oct 2013 07:23:51 +0000 (16:23 +0900)
committerGwangbok Kim <gwangbok.kim@samsung.com>
Tue, 22 Oct 2013 07:23:51 +0000 (16:23 +0900)
Change-Id: I893d257a5e16549148956e55cc35596f56a6fbe8
Signed-off-by: Gwangbok Kim <gwangbok.kim@samsung.com>
project/src/AddressbookListPopup.cpp
project/src/CategoryRemoveMemberForm.cpp
project/src/CreateContactForm.cpp
project/src/EditContactForm.cpp
project/src/MainForm.cpp

index c53631b..a413f69 100644 (file)
@@ -41,6 +41,11 @@ AddressbookListPopup::AddressbookListPopup(void)
 
 AddressbookListPopup::~AddressbookListPopup(void)
 {
+       if (__pAddressbookList != null)
+       {
+               __pAddressbookList->RemoveAll(true);
+               delete __pAddressbookList;
+       }
 }
 
 result
@@ -97,12 +102,6 @@ AddressbookListPopup::OnTerminating(void)
 {
        result r = E_SUCCESS;
 
-       if (__pAddressbookList != null)
-       {
-               __pAddressbookList->RemoveAll(true);
-               delete __pAddressbookList;
-       }
-
        return r;
 }
 
@@ -232,9 +231,18 @@ AddressbookListPopup::GetAddressbookList()
 
        AddressbookManager* pAddressbookMgr = AddressbookManager::GetInstance();
 
-       __pAddressbookList = pAddressbookMgr->GetAllAddressbooksN();
+       IList* pAddressbookList = pAddressbookMgr->GetAllAddressbooksN();
+
        r = GetLastResult();
        TryReturn(!IsFailed(r), r, "Failed to get addressbook list. (%s)", GetErrorMessage(r));
 
+       if (__pAddressbookList != null)
+       {
+               __pAddressbookList->RemoveAll(true);
+               delete __pAddressbookList;
+       }
+
+       __pAddressbookList = pAddressbookList;
+
        return r;
 }
index 4984d95..dbcc01a 100644 (file)
@@ -111,6 +111,11 @@ CategoryRemoveMemberForm::OnTerminating(void)
                delete __pContactList;
        }
 
+       if (__pCategory != null)
+       {
+               delete __pCategory;
+       }
+
        return r;
 }
 
index 5562474..77cb154 100644 (file)
@@ -213,7 +213,6 @@ CreateContactForm::OnTerminating(void)
        if (__pAddressbookListPopup != null)
        {
                delete __pAddressbookListPopup;
-               __pAddressbookListPopup = null;
        }
 
        return r;
@@ -290,7 +289,6 @@ CreateContactForm::OnUserEventReceivedN(RequestId requestId, IList* pArgs)
        if (__pAddressbookListPopup != null)
        {
                delete __pAddressbookListPopup;
-               __pAddressbookListPopup = null;
        }
 
        if (pArgs)
@@ -299,6 +297,7 @@ CreateContactForm::OnUserEventReceivedN(RequestId requestId, IList* pArgs)
                AppAssert(pInteger);
 
                __addressbookId = pInteger->ToInt();
+
                pArgs->RemoveAll(true);
                delete pArgs;
 
@@ -336,6 +335,8 @@ CreateContactForm::GetAddressbookName(AddressbookId addressbookId)
                tokenizer.GetNextToken(name);
        }
 
+       delete pAddressbook;
+
        return name;
 }
 
index e4ef185..f88e149 100644 (file)
@@ -201,6 +201,12 @@ EditContactForm::OnTerminating(void)
 {
        result r = E_SUCCESS;
 
+       if (__pContactList != null)
+       {
+               r = __pContactList->RemoveAll(true);
+               delete __pContactList;
+       }
+
        return r;
 }
 
index ff0922c..a2074ba 100644 (file)
@@ -286,12 +286,11 @@ MainForm::OnSceneDeactivated(const Tizen::Ui::Scenes::SceneId& currentSceneId,
 result
 MainForm::GetPersonList(void)
 {
-       result r = E_SUCCESS;
-
        AddressbookManager* pAddressbookMgr = AddressbookManager::GetInstance();
+
        IList* pPersonList = pAddressbookMgr->GetAllPersonsN();
 
-       r = GetLastResult();
+       result r = GetLastResult();
        TryReturn(!IsFailed(r), r, "Failed to get the person list (%s).", GetErrorMessage(r));
 
        if (__pPersonList != null)