X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f0e5d5d22ce012e9312a63175d79c0f4a8d444be..08670ea85abf4b4946a9ce64971b591d7b1ee30b:/src/common/pickerbase.cpp?ds=inline diff --git a/src/common/pickerbase.cpp b/src/common/pickerbase.cpp index 797c946876..da1a4ad59d 100644 --- a/src/common/pickerbase.cpp +++ b/src/common/pickerbase.cpp @@ -117,14 +117,19 @@ void wxPickerBase::PostCreation() m_sizer->Add(m_picker, HasTextCtrl() ? 0 : 1, GetDefaultPickerCtrlFlag(), 5); // For aesthetic reasons, make sure the picker is at least as high as the - // associated text control and is always at least square. - const wxSize pickerBestSize(m_picker->GetBestSize()); - const wxSize textBestSize( HasTextCtrl() ? m_text->GetBestSize() : wxSize()); - wxSize pickerMinSize; - pickerMinSize.y = wxMax(pickerBestSize.y, textBestSize.y); - pickerMinSize.x = wxMax(pickerBestSize.x, pickerMinSize.y); - if ( pickerMinSize != pickerBestSize ) - m_picker->SetMinSize(pickerMinSize); + // associated text control and is always at least square, unless we are + // explicitly using wxPB_SMALL style to force it to take as little space as + // possible. + if ( !HasFlag(wxPB_SMALL) ) + { + const wxSize pickerBestSize(m_picker->GetBestSize()); + const wxSize textBestSize( HasTextCtrl() ? m_text->GetBestSize() : wxSize()); + wxSize pickerMinSize; + pickerMinSize.y = wxMax(pickerBestSize.y, textBestSize.y); + pickerMinSize.x = wxMax(pickerBestSize.x, pickerMinSize.y); + if ( pickerMinSize != pickerBestSize ) + m_picker->SetMinSize(pickerMinSize); + } SetSizer(m_sizer);