virtual ~wxComboListBox();
 
     // implement wxComboPopup methods
-    virtual bool SetSelection(const wxString& value);
-    virtual void SetSelection(int n, bool select)
-        { wxListBox::SetSelection( n, select); };
+    virtual bool SetSelection(const wxString& s);
     virtual wxControl *GetControl() { return this; }
     virtual void OnShow();
     virtual wxCoord GetBestWidth() const;
 
+    // fix virtual function hiding
+    virtual void SetSelection(int n) { DoSetSelection(n, true); }
+    void SetSelection(int n, bool select) { DoSetSelection(n, select); }
+
 protected:
     // we shouldn't return height too big from here
     virtual wxSize DoGetBestClientSize() const;
     return GetText()->GetInsertionPoint();
 }
 
-long wxComboBox::GetLastPosition() const
+wxTextPos wxComboBox::GetLastPosition() const
 {
     return GetText()->GetLastPosition();
 }
     return GetLBox()->FindString(s);
 }
 
-void wxComboBox::Select(int n)
+void wxComboBox::SetSelection(int n)
 {
     wxCHECK_RET( (n >= 0) && (n < GetCount()), _T("invalid index in wxComboBox::Select") );
 
 
 bool wxComboBox::IsEditable() const
 {
-       return GetText() != NULL && (!HasFlag(wxCB_READONLY) || GetText()->IsEditable());
+    return GetText() != NULL && (!HasFlag(wxCB_READONLY) || GetText()->IsEditable());
 }
 
 void wxComboBox::Undo()