Fix crash in wxDC::GetMultiLineTextExtent() after last commit.
Don't call wxTextMeasure::DoGetTextExtent() with NULL width pointer, it now supposes that both width and height pointers are non-NULL. Add at least a trivial unit test for GetMultiLineTextExtent(). git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72700 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
8cd79b7af0
commit
bb996f2895
@ -101,7 +101,8 @@ void wxTextMeasureBase::GetMultiLineTextExtent(const wxString& text,
|
||||
if ( !heightLineDefault )
|
||||
{
|
||||
// but we don't know it yet - choose something reasonable
|
||||
DoGetTextExtent(wxS("W"), NULL, &heightLineDefault);
|
||||
int dummy;
|
||||
DoGetTextExtent(wxS("W"), &dummy, &heightLineDefault);
|
||||
}
|
||||
|
||||
heightTextTotal += heightLineDefault;
|
||||
|
@ -95,6 +95,13 @@ void MeasuringTextTestCase::DCGetTextExtent()
|
||||
wxClientDC dc(wxTheApp->GetTopWindow());
|
||||
|
||||
DoTestGetTextExtent(dc);
|
||||
|
||||
int w;
|
||||
dc.GetMultiLineTextExtent("Good\nbye", &w, NULL);
|
||||
const wxSize sz = dc.GetTextExtent("Good");
|
||||
CPPUNIT_ASSERT_EQUAL( sz.x, w );
|
||||
|
||||
CPPUNIT_ASSERT( dc.GetMultiLineTextExtent("Good\nbye").y >= 2*sz.y );
|
||||
}
|
||||
|
||||
void MeasuringTextTestCase::WindowGetTextExtent()
|
||||
|
Loading…
Reference in New Issue
Block a user