diff --git a/docs/changes.txt b/docs/changes.txt index bce3da07e6..631cf86d87 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -197,6 +197,7 @@ wxBase - compilation with wxUSE_ODBC=1 fixed (dbkeyg.h file was missing in the archive) - bug in wxDateTime with timezones on systems with tm_gmtoff in struct tm fixed - fixed bug in wxArray::Shrink() (Seth Manley) +- fixed bug with searching in sorted arrays (Jürgen Palm) wxGTK: diff --git a/src/common/dynarray.cpp b/src/common/dynarray.cpp index 25a80d3860..24df3c7ecd 100644 --- a/src/common/dynarray.cpp +++ b/src/common/dynarray.cpp @@ -248,7 +248,10 @@ int name::Index(T lItem, CMPFUNC fnCompare) const \ { \ size_t n = IndexForInsert(lItem, fnCompare); \ \ - return n < m_nCount && m_pItems[n] == lItem ? (int)n : wxNOT_FOUND; \ + return n < m_nCount && \ + (*fnCompare)((const void *)(long)lItem, \ + ((const void *)(long)m_pItems[n])) ? (int)n \ + : wxNOT_FOUND; \ } \ \ /* add item at the end */ \