use correct way to get a pointer to vector elements in DoGetPartialTextExtents()

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25827 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2004-02-15 19:12:54 +00:00
parent 3d78043440
commit 5c2ddebecd

View File

@@ -1613,7 +1613,7 @@ void wxDC::DoGetTextExtent(const wxString& string, wxCoord *x, wxCoord *y,
// Each element of the array will be the width of the string up to and // Each element of the array will be the width of the string up to and
// including the coresoponding character in text. // including the coresoponding character in text.
bool wxDC::DoGetPartialTextExtents(const wxString& text, wxArrayInt& widths) const bool wxDC::DoGetPartialTextExtents(const wxString& text, wxArrayInt& widths) const
{ {
@@ -1630,22 +1630,24 @@ bool wxDC::DoGetPartialTextExtents(const wxString& text, wxArrayInt& widths) con
maxLenText = version == wxWINDOWS_NT ? 65535 : 8192; maxLenText = version == wxWINDOWS_NT ? 65535 : 8192;
maxWidth = version == wxWINDOWS_NT ? INT_MAX : 32767; maxWidth = version == wxWINDOWS_NT ? INT_MAX : 32767;
} }
widths.Empty(); widths.Empty();
widths.Add(0, stlen); // fill the array with zeros widths.Add(0, stlen); // fill the array with zeros
if (!::GetTextExtentExPoint(GetHdc(), if (!::GetTextExtentExPoint(GetHdc(),
text.c_str(), // string to check text.c_str(), // string to check
wxMin(stlen, maxLenText), wxMin(stlen, maxLenText),
maxWidth, maxWidth,
&fit, // receives count of chars &fit, // [out] count of chars
// that will fit // that will fit
widths.begin(), // array to fill &widths[0], // array to fill
&sz)) { &sz))
{
// API failed // API failed
wxLogLastError(wxT("GetTextExtentExPoint")); wxLogLastError(wxT("GetTextExtentExPoint"));
return false; return false;
} }
return true; return true;
} }