T *ListView::getNextItem(ListItem &item) const
{
T *res = nullptr;
- ListItem *next = nullptr;
+ ListItem *next = &item;
do
{
- next = getNextItem(item);
+ next = getNextItem(*next);
res = dynamic_cast<T*>(next);
} while(next && !res);
T *ListView::getPrevItem(ListItem &item) const
{
T *res = nullptr;
- ListItem *next = nullptr;
+ ListItem *prev = &item;
do
{
- next = getPrevItem(item);
- res = dynamic_cast<T*>(next);
- } while(next && !res);
+ prev = getPrevItem(*prev);
+ res = dynamic_cast<T*>(prev);
+ } while(prev && !res);
return res;
}
if(prev)
{
ListItem *nextItem = m_pList->getNextItem(*item);
- needDelDateLine = nextItem ? dynamic_cast<DateLineItem*>(nextItem) != nullptr : true;
-
+ needDelDateLine = nextItem ? dynamic_cast<ConvListItem*>(nextItem) == nullptr : true;
if(needDelDateLine)
{
m_DateLineItemSet.erase(prev->getDateLine());