Don't crash in wxControl::GetLabel when getting the label
fails (perhaps because the widget is not realized?). Correct wxRTTI information for wxFrame: it derives from wxTopLevelWindow, not wxWindow. Don't try setting Widget size to 0, because it will fail: set it to 1 instead which is exactly as sensible, but does not crash. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@23288 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
93c83507aa
commit
8879354854
@ -99,7 +99,7 @@ wxString wxControl::GetLabel() const
|
||||
if (!widget)
|
||||
return wxEmptyString;
|
||||
|
||||
XmString text;
|
||||
XmString text = NULL;
|
||||
XtVaGetValues (widget,
|
||||
XmNlabelString, &text,
|
||||
NULL);
|
||||
|
@ -97,7 +97,7 @@ BEGIN_EVENT_TABLE(wxFrame, wxFrameBase)
|
||||
EVT_SYS_COLOUR_CHANGED(wxFrame::OnSysColourChanged)
|
||||
END_EVENT_TABLE()
|
||||
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxFrame, wxWindow)
|
||||
IMPLEMENT_DYNAMIC_CLASS(wxFrame, wxTopLevelWindow)
|
||||
|
||||
// ============================================================================
|
||||
// implementation
|
||||
|
@ -1411,6 +1411,7 @@ void wxWindow::DoMoveWindowIntr(int xx, int yy, int w, int h,
|
||||
w -= 2 * (thick + margin);
|
||||
}
|
||||
|
||||
if( w < 1 ) w = 1;
|
||||
XtVaSetValues ((Widget) m_scrolledWindow, XmNwidth, w, NULL);
|
||||
}
|
||||
|
||||
@ -1427,6 +1428,7 @@ void wxWindow::DoMoveWindowIntr(int xx, int yy, int w, int h,
|
||||
h -= 2 * (thick + margin);
|
||||
}
|
||||
|
||||
if( h < 1 ) h = 1;
|
||||
XtVaSetValues ((Widget) m_scrolledWindow, XmNheight, h, NULL);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user