void *wxListBox::DoGetItemClientData(unsigned int n) const
{
- wxCHECK_MSG( IsValid(n), NULL,
- wxT("invalid index in wxListBox::GetClientData") );
+ LPARAM rc = SendMessage(GetHwnd(), LB_GETITEMDATA, n, 0);
+ if ( rc == LB_ERR && GetLastError() != ERROR_SUCCESS )
+ {
+ wxLogLastError(wxT("LB_GETITEMDATA"));
+
+ return NULL;
+ }
- return (void *)SendMessage(GetHwnd(), LB_GETITEMDATA, n, 0);
+ return (void *)rc;
}
void wxListBox::DoSetItemClientData(unsigned int n, void *clientData)
{
- wxCHECK_RET( IsValid(n),
- wxT("invalid index in wxListBox::SetClientData") );
-
if ( ListBox_SetItemData(GetHwnd(), n, clientData) == LB_ERR )
{
wxLogDebug(wxT("LB_SETITEMDATA failed"));