diff --git a/samples/combo/combo.cpp b/samples/combo/combo.cpp index a136903a67..5f8e7fea59 100644 --- a/samples/combo/combo.cpp +++ b/samples/combo/combo.cpp @@ -228,8 +228,10 @@ public: int item, int flags ) const { - // If item is selected or even, use the default rendering. + // If item is selected or even, or we are painting the + // combo control itself, use the default rendering. if ( GetVListBoxComboPopup()->IsCurrent((size_t)item) || + (flags & wxODCB_PAINTING_CONTROL) || (item & 1) == 0 ) { wxOwnerDrawnComboBox::OnDrawBackground(dc,rect,item,flags); diff --git a/src/generic/odcombo.cpp b/src/generic/odcombo.cpp index c2a9e98294..1e9926cd8e 100644 --- a/src/generic/odcombo.cpp +++ b/src/generic/odcombo.cpp @@ -1041,7 +1041,8 @@ wxCoord wxOwnerDrawnComboBox::OnMeasureItemWidth( size_t WXUNUSED(item) ) const void wxOwnerDrawnComboBox::OnDrawBackground(wxDC& dc, const wxRect& rect, int item, int flags) const { // we need to render selected and current items differently - if ( GetVListBoxComboPopup()->IsCurrent((size_t)item) ) + if ( GetVListBoxComboPopup()->IsCurrent((size_t)item) || + (flags & wxODCB_PAINTING_CONTROL) ) { DrawFocusBackground(dc, rect,