From d1a92289162ab3f87486de52ac526d2676ddb068 Mon Sep 17 00:00:00 2001 From: Sreedeep Moulik Date: Thu, 11 Jul 2013 14:10:30 +0530 Subject: [PATCH] Ref Count implementation at Impl layer for ContextItem Change-Id: Iffab33fab0878a2c2e9615a6780adfca267b717d Signed-off-by: Sreedeep Moulik --- src/ui/controls/FUiCtrl_ListItemBaseImpl.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/ui/controls/FUiCtrl_ListItemBaseImpl.cpp b/src/ui/controls/FUiCtrl_ListItemBaseImpl.cpp index 9917177..17b8797 100644 --- a/src/ui/controls/FUiCtrl_ListItemBaseImpl.cpp +++ b/src/ui/controls/FUiCtrl_ListItemBaseImpl.cpp @@ -70,7 +70,13 @@ _ListItemBaseImpl::~_ListItemBaseImpl(void) { if (__pListViewItem != null) { + _TableViewItem* pContextItem = __pListViewItem->GetContextItem(); __pListViewItem->Release(); + + if (pContextItem) + { + pContextItem->Release(); + } } delete __pEvent; @@ -235,6 +241,11 @@ _ListItemBaseImpl::GetBackgroundColor(ListItemDrawingStatus status) const result _ListItemBaseImpl::SetContextItem(const _ListContextItemImpl* pItem) { + if (__pListViewItem->GetContextItem()) + { + __pListViewItem->GetContextItem()->Release(); + } + if (pItem == null) { __pListViewItem->SetContextItem(null); @@ -246,6 +257,9 @@ _ListItemBaseImpl::SetContextItem(const _ListContextItemImpl* pItem) if (pContextItem != null) { __pListViewItem->SetItemWidth(__itemSize.width); + + pContextItem->AddRef(); + __pListViewItem->SetContextItem(pContextItem); __pListViewItem->SetContextItemEventListener(*this); -- 2.7.4