]> git.saurik.com Git - wxWidgets.git/blobdiff - src/msw/listbox.cpp
simpler implementation that also works over remote connections by Kevin O.
[wxWidgets.git] / src / msw / listbox.cpp
index 69565096f7b90a0fd9dc8c3cea7892829375b4fc..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,7 +306,15 @@ bool wxListBox::IsSelected(int N) const
 
 void *wxListBox::DoGetItemClientData(unsigned int n) const
 {
-    return (void *)SendMessage(GetHwnd(), LB_GETITEMDATA, n, 0);
+    LPARAM rc = SendMessage(GetHwnd(), LB_GETITEMDATA, n, 0);
+    if ( rc == LB_ERR && GetLastError() != ERROR_SUCCESS )
+    {
+        wxLogLastError(wxT("LB_GETITEMDATA"));
+
+        return NULL;
+    }
+
+    return (void *)rc;
 }
 
 void wxListBox::DoSetItemClientData(unsigned int n, void *clientData)
@@ -465,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 )