virtual int DoInsert(const wxString& item, unsigned int pos);
 
     virtual void DoSetItemClientData(unsigned int n, void *clientData)
-        { m_clientData[n] = clientData; }
+        { m_HTMLclientData[n] = clientData; }
 
     virtual void *DoGetItemClientData(unsigned int n) const
-        { return m_clientData[n]; }
+        { return m_HTMLclientData[n]; }
     virtual void DoSetItemClientObject(unsigned int n, wxClientData *clientData)
-        { m_clientData[n] = (void *)clientData; }
+        { m_HTMLclientData[n] = (void *)clientData; }
     virtual wxClientData *DoGetItemClientObject(unsigned int n) const
-        { return (wxClientData *)m_clientData[n]; }
+        { return (wxClientData *)m_HTMLclientData[n]; }
 
     // calls wxHtmlListBox::SetItemCount() and RefreshAll()
     void UpdateCount();
         { return m_items[n]; }
 
     wxArrayString m_items;
-    wxArrayPtrVoid m_clientData;
+    wxArrayPtrVoid m_HTMLclientData;
+    // Note: For the benefit of old compilers (like gcc-2.8) this should
+    // not be named m_clientdata as that clashes with the name of an
+    // anonymous struct member in wxEvtHandler, which we derive from.
 
     DECLARE_NO_COPY_CLASS(wxSimpleHtmlListBox)
 };
 
 
 wxSimpleHtmlListBox::~wxSimpleHtmlListBox()
 {
-    wxASSERT(m_items.GetCount() == m_clientData.GetCount());
+    wxASSERT(m_items.GetCount() == m_HTMLclientData.GetCount());
     if (HasClientObjectData())
     {
         // clear the array of client data objects
     }
 
     m_items.Clear();
-    m_clientData.Clear();
+    m_HTMLclientData.Clear();
 }
 
 void wxSimpleHtmlListBox::Clear()
 {
     m_items.Clear();
-    m_clientData.Clear();
+    m_HTMLclientData.Clear();
     UpdateCount();
 }
 
 void wxSimpleHtmlListBox::Delete(unsigned int n)
 {
     m_items.RemoveAt(n);
-    m_clientData.RemoveAt(n);
+    m_HTMLclientData.RemoveAt(n);
     UpdateCount();
 }
 
 
     // append all given items at once
     WX_APPEND_ARRAY(m_items, strings);
-    m_clientData.Add(NULL, strings.GetCount());
+    m_HTMLclientData.Add(NULL, strings.GetCount());
     UpdateCount();
 }
 
 int wxSimpleHtmlListBox::DoAppend(const wxString& item)
 {
     m_items.Add(item);
-    m_clientData.Add(NULL);
+    m_HTMLclientData.Add(NULL);
     UpdateCount();
     return GetCount()-1;
 }
 int wxSimpleHtmlListBox::DoInsert(const wxString& item, unsigned int pos)
 {
     m_items.Insert(item, pos);
-    m_clientData.Insert(NULL, pos);
+    m_HTMLclientData.Insert(NULL, pos);
     UpdateCount();
     return pos;
 }
 
 void wxSimpleHtmlListBox::UpdateCount()
 {
-    wxASSERT(m_items.GetCount() == m_clientData.GetCount());
+    wxASSERT(m_items.GetCount() == m_HTMLclientData.GetCount());
     wxHtmlListBox::SetItemCount(m_items.GetCount());
 
     // very small optimization: if you need to add lot of items to