]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/listbox.cpp
implement wxCairoContext::GetPartialTextExtents for wxGTK
[wxWidgets.git] / src / msw / listbox.cpp
index 69281add2b8f7c109a8204041fd30dd2ee868dce..c01c325a5cda0ca9c3174bd44d421eff079ea203 100644 (file)
@@ -251,7 +251,7 @@ int wxListBox::FindString(const wxString& s, bool bCase) const
     if (bCase)
        return wxItemContainerImmutable::FindString( s, bCase );
 
-    int pos = ListBox_FindStringExact(GetHwnd(), -1, s.wx_str());
+    int pos = ListBox_FindStringExact(GetHwnd(), -1, s.t_str());
     if (pos == LB_ERR)
         return wxNOT_FOUND;
     else
@@ -306,17 +306,19 @@ bool wxListBox::IsSelected(int N) const
 
 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"));
@@ -471,7 +473,7 @@ void wxListBox::SetString(unsigned int n, const wxString& s)
     if ( n == (m_noItems - 1) )
         newN = -1;
 
-    ListBox_InsertString(GetHwnd(), newN, s.wx_str());
+    ListBox_InsertString(GetHwnd(), newN, s.t_str());
 
     // restore the client data
     if ( oldData )