From 887e1ab976721479c58cc4f4b589492e7d54b88a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=A1clav=20Slav=C3=ADk?= Date: Sun, 17 Jun 2007 17:31:09 +0000 Subject: [PATCH] fixed selecting part of word from right to left in wxHTML (patch #1719530) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/branches/WX_2_8_BRANCH@46505 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- docs/changes.txt | 1 + src/html/htmlcell.cpp | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/docs/changes.txt b/docs/changes.txt index 1dddd4b0fc..290706e9d6 100644 --- a/docs/changes.txt +++ b/docs/changes.txt @@ -94,6 +94,7 @@ Major new features in 2.8 release All (GUI): - Added colour normalization to PNM image handler (Ray Johnston) +- Fixed selecting part of word from right to left in wxHTML (Michael Hieke) wxMSW: diff --git a/src/html/htmlcell.cpp b/src/html/htmlcell.cpp index 751efd8eaa..8bcd8eb095 100644 --- a/src/html/htmlcell.cpp +++ b/src/html/htmlcell.cpp @@ -381,6 +381,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;