From 2d5f97dcdc4394a03844c09830377f46f84e374f Mon Sep 17 00:00:00 2001 From: SangYong Lee Date: Wed, 22 May 2013 14:48:14 +0900 Subject: [PATCH] Fixed TDIS-4969 Change-Id: Ie909ad6242a4686b2e804f818beaf63a41b15eef Signed-off-by: SangYong Lee --- src/ui/controls/FUiCtrl_TableViewPresenter.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/ui/controls/FUiCtrl_TableViewPresenter.cpp b/src/ui/controls/FUiCtrl_TableViewPresenter.cpp index ead14fc..bd06029 100644 --- a/src/ui/controls/FUiCtrl_TableViewPresenter.cpp +++ b/src/ui/controls/FUiCtrl_TableViewPresenter.cpp @@ -398,6 +398,7 @@ _TableViewPresenter::RefreshTableView(int groupIndex, int itemIndex, TableViewRe TableViewItemTag topDrawnItemPos = {-1, -1}; TableViewItemTag refreshItemPos = {groupIndex, itemIndex}; float prevScrollAreaHeight = GetScrollAreaBounds().height; + float prevScrollPosition = GetScrollPosition(); GetTopDrawnItem(topDrawnItemPos); @@ -548,14 +549,19 @@ _TableViewPresenter::RefreshTableView(int groupIndex, int itemIndex, TableViewRe break; } + __lockLoadItemWithScroll = true; + AdjustClientAreaBounds(true); + __lockLoadItemWithScroll = false; + if ((topDrawnItemPos.groupIndex > refreshItemPos.groupIndex) ||((topDrawnItemPos.groupIndex == refreshItemPos.groupIndex)&&(topDrawnItemPos.itemIndex > refreshItemPos.itemIndex))) { RefreshItemLayout(topDrawnItemPos, refreshItemPos, type, false); - float newScrollPosition = GetScrollPosition() - (prevScrollAreaHeight - GetScrollAreaBounds().height); + float newScrollPosition = prevScrollPosition + (prevScrollAreaHeight - GetScrollAreaBounds().height); + SetScrollPosition(newScrollPosition, false); } else -- 2.7.4