Fixed N_SE-39707 - Modified UpdateTableView when previous state is empty
authorSangYong Lee <sangyongim.lee@samsung.com>
Wed, 29 May 2013 03:54:41 +0000 (12:54 +0900)
committerSangYong Lee <sangyongim.lee@samsung.com>
Wed, 29 May 2013 04:09:08 +0000 (13:09 +0900)
Change-Id: I8a4e9a7ce1d6dd4f6a3b31fd46eaa0961766a9a0
Signed-off-by: SangYong Lee <sangyongim.lee@samsung.com>
src/ui/controls/FUiCtrl_TableViewPresenter.cpp

index b0c2c15..99b970d 100644 (file)
@@ -625,32 +625,41 @@ _TableViewPresenter::UpdateTableView(void)
        }
        else
        {
-               TableViewItemTag topDrawnTag = {-1, -1};
-               float shiftingDistance = 0;
+               if (IsEmpty())
+               {
+                       __pListModel->RemoveAllItem(false, false);
 
-               ResetSweepItem();
+                       PreloadItem();
+               }
+               else
+               {
+                       TableViewItemTag topDrawnTag = {-1, -1};
+                       float shiftingDistance = 0;
 
-               GetTopDrawnItem(topDrawnTag);
+                       ResetSweepItem();
 
-               if (__pListModel->IsValidItem(topDrawnTag.groupIndex, topDrawnTag.itemIndex))
-               {
-                       _TableViewItem* pItem = FindItem(topDrawnTag);
+                       GetTopDrawnItem(topDrawnTag);
 
-                       if (pItem != null)
+                       if (__pListModel->IsValidItem(topDrawnTag.groupIndex, topDrawnTag.itemIndex))
                        {
-                               shiftingDistance = GetScrollPosition() - pItem->GetBoundsF().y;
+                               _TableViewItem* pItem = FindItem(topDrawnTag);
+
+                               if (pItem != null)
+                               {
+                                       shiftingDistance = GetScrollPosition() - pItem->GetBoundsF().y;
+                               }
                        }
-               }
 
-               __pListModel->RemoveAllItem(false, true);
+                       __pListModel->RemoveAllItem(false, true);
 
-               PreloadItem(topDrawnTag.groupIndex, topDrawnTag.itemIndex, shiftingDistance);
+                       PreloadItem(topDrawnTag.groupIndex, topDrawnTag.itemIndex, shiftingDistance);
 
-               __statusChangedFlag = true;
+                       __statusChangedFlag = true;
 
-               if (__itemTouchReleasedEventState == TABLE_VIEW_ITEM_TOUCH_RELEASED_EVENT_FIRE)
-               {
-                       __itemTouchReleasedEventState = TABLE_VIEW_ITEM_TOUCH_RELEASED_EVENT_UPDATE_TABLE_VIEW;
+                       if (__itemTouchReleasedEventState == TABLE_VIEW_ITEM_TOUCH_RELEASED_EVENT_FIRE)
+                       {
+                               __itemTouchReleasedEventState = TABLE_VIEW_ITEM_TOUCH_RELEASED_EVENT_UPDATE_TABLE_VIEW;
+                       }
                }
        }