commit 8ffc48ebca32236efd39bd0173a3a374e77f1fa6
parent db94385a621b078fc76efb0a6b73d61eb72ed299
Author: cfillion <cfillion@users.noreply.github.com>
Date: Wed, 16 Mar 2016 22:01:47 -0400
fix ListView::translateBack not returning negative values when the list is sorted
and optimize ListView::translate a little bit
Diffstat:
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/src/listview.cpp b/src/listview.cpp
@@ -277,7 +277,7 @@ void ListView::handleColumnClick(LPARAM lParam)
int ListView::translate(const int userIndex) const
{
- if(m_sortColumn < 0)
+ if(m_sortColumn < 0 || userIndex < 0)
return userIndex;
for(int viewIndex = 0; viewIndex < rowCount(); viewIndex++) {
@@ -295,13 +295,15 @@ int ListView::translate(const int userIndex) const
int ListView::translateBack(const int internalIndex) const
{
- if(m_sortColumn < 0)
+ if(m_sortColumn < 0 || internalIndex < 0)
return internalIndex;
LVITEM item{};
item.iItem = internalIndex;
item.mask |= LVIF_PARAM;
- ListView_GetItem(handle(), &item);
- return (int)item.lParam;
+ if(ListView_GetItem(handle(), &item))
+ return (int)item.lParam;
+ else
+ return -1;
}