diff --git a/src/html/htmlcell.cpp b/src/html/htmlcell.cpp index feeabd00c3..d70af49a3a 100644 --- a/src/html/htmlcell.cpp +++ b/src/html/htmlcell.cpp @@ -386,6 +386,16 @@ void wxHtmlWordCell::Split(const wxDC& dc, wxPoint pt2 = (selTo == wxDefaultPosition) ? wxPoint(m_Width, wxDefaultCoord) : selTo - GetAbsPos(); + // if the selection is entirely within this cell, make sure pt1 < pt2 in + // order to make the rest of this function simpler: + if ( selFrom != wxDefaultPosition && selTo != wxDefaultPosition && + selFrom.x > selTo.x ) + { + wxPoint tmp = pt1; + pt1 = pt2; + pt2 = tmp; + } + unsigned len = m_Word.length(); unsigned i = 0; pos1 = 0;