From 1667b82ca5e7b879200bd232ecc863373288eddb Mon Sep 17 00:00:00 2001 From: Syed Khaja Moinuddin Date: Mon, 1 Apr 2013 16:15:00 +0900 Subject: [PATCH] Fixed UTs Crash in GroupedList & SlidableGroupedList. Signed-off-by: Syed Khaja Moinuddin Change-Id: Ib70f58c44cc23e91e2f0bf69f8e979c5ca74a08a --- src/ui/controls/FUiCtrl_CustomListItemImpl.cpp | 38 ++++++++++++++++++++------ 1 file changed, 29 insertions(+), 9 deletions(-) diff --git a/src/ui/controls/FUiCtrl_CustomListItemImpl.cpp b/src/ui/controls/FUiCtrl_CustomListItemImpl.cpp index 6825722..001a0fc 100644 --- a/src/ui/controls/FUiCtrl_CustomListItemImpl.cpp +++ b/src/ui/controls/FUiCtrl_CustomListItemImpl.cpp @@ -460,34 +460,54 @@ _CustomListItemImpl::GetElementViewById(int elementId) const void _CustomListItemImpl::SetNormalItemBackgroundBitmap(const Bitmap& bitmap) { - SetBackgroundBitmap(bitmap, TABLE_VIEW_ITEM_DRAWING_STATUS_NORMAL); + TableViewItemDrawingStatus status = TABLE_VIEW_ITEM_DRAWING_STATUS_NORMAL; + + if (__pBitmaps[status]) + { + delete __pBitmaps[status]; + } + + __pBitmaps[status] = _BitmapImpl::CloneN(bitmap); + + SetBackgroundBitmap(bitmap, status); return; } void _CustomListItemImpl::SetFocusedItemBackgroundBitmap(const Bitmap& bitmap) { - SetBackgroundBitmap(bitmap, TABLE_VIEW_ITEM_DRAWING_STATUS_PRESSED); + TableViewItemDrawingStatus status = TABLE_VIEW_ITEM_DRAWING_STATUS_PRESSED; + + if (__pBitmaps[status]) + { + delete __pBitmaps[status]; + } + + __pBitmaps[status] = _BitmapImpl::CloneN(bitmap); + + SetBackgroundBitmap(bitmap, status); return; } void _CustomListItemImpl::SetHighlightedItemBackgroundBitmap(const Bitmap& bitmap) { - SetBackgroundBitmap(bitmap, TABLE_VIEW_ITEM_DRAWING_STATUS_HIGHLIGHTED); - return; -} + TableViewItemDrawingStatus status = TABLE_VIEW_ITEM_DRAWING_STATUS_HIGHLIGHTED; -void -_CustomListItemImpl::SetBackgroundBitmap(const Bitmap& bitmap, TableViewItemDrawingStatus status) -{ if (__pBitmaps[status]) { - delete __pBitmaps[status]; + delete __pBitmaps[status]; } __pBitmaps[status] = _BitmapImpl::CloneN(bitmap); + SetBackgroundBitmap(bitmap, status); + return; +} + +void +_CustomListItemImpl::SetBackgroundBitmap(const Bitmap& bitmap, TableViewItemDrawingStatus status) +{ if (__pTableViewItemData) { bool returnValue = __pTableViewItemData->SetBackgroundBitmap(__pBitmaps[status], status); -- 2.7.4