diff --git a/src/richtext/richtextbuffer.cpp b/src/richtext/richtextbuffer.cpp index 88b414700c..41a4625acb 100644 --- a/src/richtext/richtextbuffer.cpp +++ b/src/richtext/richtextbuffer.cpp @@ -10283,13 +10283,16 @@ bool wxRichTextTable::Layout(wxDC& dc, wxRichTextDrawingContext& context, const if (spanningWidth > 0) { // Now share the spanning width between columns within that span - // TODO: take into account min widths of columns within the span int spanningWidthLeft = spanningWidth; int stretchColCount = 0; for (k = i; k < (i+spans); k++) { + int minColWidth = wxMax(minColWidths[k], minColWidthsNoWrap[k]); + if (colWidths[k] > 0) // absolute or proportional width has been specified spanningWidthLeft -= colWidths[k]; + else if (minColWidth > 0) + spanningWidthLeft -= minColWidth; else stretchColCount ++; } @@ -10306,7 +10309,8 @@ bool wxRichTextTable::Layout(wxDC& dc, wxRichTextDrawingContext& context, const { for (k = i; k < (i+spans); k++) { - if (colWidths[k] <= 0) // absolute or proportional width has not been specified + int minColWidth = wxMax(minColWidths[k], minColWidthsNoWrap[k]); + if (colWidths[k] <= 0 && minColWidth <= 0) // absolute or proportional width has not been specified { int newWidth = colShare; if (k == (i+spans-1))