diff --git a/updateview_items.cpp b/updateview_items.cpp --- a/updateview_items.cpp +++ b/updateview_items.cpp @@ -607,6 +607,7 @@ return false; const UpdateFileItem &item = static_cast(other); + int compareResult = 0; switch ( treeWidget()->sortColumn() ) { @@ -614,25 +615,25 @@ return entry().m_name.localeAwareCompare(item.entry().m_name) < 0; case Status: - { - int compareResult = ::compare(statusClass(), item.statusClass()); - if (compareResult == 0) - return entry().m_name.localeAwareCompare(item.entry().m_name) < 0; - else - return compareResult < 0; - } + compareResult = ::compare(statusClass(), item.statusClass()); + break; case Revision: - return ::compareRevisions(entry().m_revision, item.entry().m_revision) < 0; + compareResult = ::compareRevisions(entry().m_revision, item.entry().m_revision); + break; case TagOrDate: - return entry().m_tag.localeAwareCompare(item.entry().m_tag) < 0; + compareResult = entry().m_tag.localeAwareCompare(item.entry().m_tag); + break; case Timestamp: - return ::compare(entry().m_dateTime, item.entry().m_dateTime) < 0; + compareResult = ::compare(entry().m_dateTime, item.entry().m_dateTime); + break; } + if(compareResult == 0) + return entry().m_name.localeAwareCompare(item.entry().m_name) < 0; - return false; + return compareResult < 0; }