diff --git a/docs/changes.txt b/docs/changes.txt index a682ea96ff..211a858bbc 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -133,6 +133,7 @@ All (GUI): - Use bitmap mask in wxSplashScreen. - Translate "(c)" and "(C)" to the real copyright sign in wxAboutBox. - Fix painting of highlight border for merged cells in wxGrid (K. Jones). +- Fix handling of long lines in wxGridCellAutoWrapStringRenderer. All (Unix): diff --git a/src/generic/gridctrl.cpp b/src/generic/gridctrl.cpp index a145b6507d..e964cebab6 100644 --- a/src/generic/gridctrl.cpp +++ b/src/generic/gridctrl.cpp @@ -357,9 +357,19 @@ wxGridCellAutoWrapStringRenderer::GetTextLines(wxGrid& grid, dc.GetTextExtent(tok, &x, &y); if ( curr_x + x > max_x) { - lines.Add( wxString(thisline) ); - thisline = tok; - curr_x=x; + if ( curr_x == 0 ) + { + // this means that a single token is wider than the maximal + // width -- still use it as is as we need to show at least the + // part of it which fits + lines.Add(tok); + } + else + { + lines.Add(thisline); + thisline = tok; + curr_x = x; + } } else {