diff --git a/src/generic/grideditors.cpp b/src/generic/grideditors.cpp index 9ac3da7786..ae7eff24ae 100644 --- a/src/generic/grideditors.cpp +++ b/src/generic/grideditors.cpp @@ -1451,22 +1451,12 @@ void wxGridCellChoiceEditor::SetSize(const wxRect& rect) wxASSERT_MSG(m_control, wxT("The wxGridCellChoiceEditor must be created first!")); - // Check that the height is not too small to fit the combobox. - wxRect rectTallEnough = rect; - const wxSize bestSize = m_control->GetBestSize(); - const wxCoord diffY = bestSize.GetHeight() - rectTallEnough.GetHeight(); - if ( diffY > 0 ) - { - // Do make it tall enough. - rectTallEnough.height += diffY; + // Check that the rectangle is big enough to fit the combobox, we can't + // afford truncating it. + wxSize size = rect.GetSize(); + size.IncTo(m_control->GetBestSize()); - // Also centre the effective rectangle vertically with respect to the - // original one. - rectTallEnough.y -= diffY/2; - } - //else: The rectangle provided is already tall enough. - - wxGridCellEditor::SetSize(rectTallEnough); + wxGridCellEditor::SetSize(wxRect(size).CentreIn(rect)); } void wxGridCellChoiceEditor::PaintBackground(wxDC& dc,