From 50bedb7b44f859e06e23326a89abcac8e98a0a35 Mon Sep 17 00:00:00 2001 From: Paul Cornett Date: Sun, 14 Dec 2008 07:39:17 +0000 Subject: [PATCH] don't call size_request to get best size of a non-native control, it will probably return (0,0) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57326 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- src/gtk/control.cpp | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) 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; } -- 2.45.2