X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e1ac8c99e46219a3bfd539c0bd06fe6b7adb44ad..150ac0dae391f9b8a59894351432e5a1de3b55f7:/src/gtk/control.cpp diff --git a/src/gtk/control.cpp b/src/gtk/control.cpp index 302c5018b6..06ca9c1de7 100644 --- a/src/gtk/control.cpp +++ b/src/gtk/control.cpp @@ -60,13 +60,18 @@ wxSize wxControl::DoGetBestSize() const // Do not return any arbitrary default value... wxASSERT_MSG( m_widget, wxT("DoGetBestSize called before creation") ); - GtkRequisition req; - req.width = 2; - req.height = 2; - (* GTK_WIDGET_CLASS( GTK_OBJECT_GET_CLASS(m_widget) )->size_request ) - (m_widget, &req ); - - wxSize best(req.width, req.height); + wxSize best; + if (m_wxwindow) + { + // this is not a native control, size_request is likely to be (0,0) + best = wxControlBase::DoGetBestSize(); + } + else + { + GtkRequisition req; + GTK_WIDGET_GET_CLASS(m_widget)->size_request(m_widget, &req); + best.Set(req.width, req.height); + } CacheBestSize(best); return best; }