Bug 124648 - bidirectional text selection failure in konqueror
Summary: bidirectional text selection failure in konqueror
Status: RESOLVED FIXED
Alias: None
Product: konqueror
Classification: Applications
Component: khtml (show other bugs)
Version: unspecified
Platform: Gentoo Packages Linux
: NOR normal
Target Milestone: ---
Assignee: Charles Samuels
URL:
Keywords:
: 73348 (view as bug list)
Depends on:
Blocks:
 
Reported: 2006-03-31 16:22 UTC by Marijn Schouten
Modified: 2006-04-18 11:53 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
reduced testcase of the page in question (376 bytes, text/html)
2006-03-31 22:14 UTC, Philip Rodrigues
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Marijn Schouten 2006-03-31 16:22:31 UTC
Version:            (using KDE KDE 3.5.1)
Installed from:    Gentoo Packages
Compiler:          gcc-3.4.5-vanilla 
OS:                Linux

on site

      http://en.wikipedia.org/wiki/Mojibake

try to select for example the word "meaning" in the following sentence:

"In Hebrew it is usually called "sinit" (סינית), meaning "Chinese", most often in reference to the accented Latin lowercase vowels that take the place of Hebrew letters on systems built on ISO 8859-1 or Windows-1252 (the Hebrew letters in all of ISO, Windows and Macintosh codes are in positions E0–FA hex)."

I cannot, and it seems to have something to do with the fact that hebrew is written right to left.
Comment 1 Philip Rodrigues 2006-03-31 22:14:57 UTC
Created attachment 15401 [details]
reduced testcase of the page in question
Comment 2 Charles Samuels 2006-04-02 23:14:53 UTC
You can also reproducing this bug on http://bugs.kde.org/show_bug.cgi?id=124648 :]
Comment 3 Charles Samuels 2006-04-03 00:19:23 UTC
I have a patch for this but I want to look at it further before committing.
Comment 4 Charles Samuels 2006-04-03 01:14:52 UTC
SVN commit 525823 by charles:

BUG: 124648

Lines that contain RTL text cannot be selected at the LTR text following the RTL text that follows the LTR text.



 M  +2 -2      render_text.cpp  


--- branches/KDE/3.5/kdelibs/khtml/rendering/render_text.cpp #525822:525823
@@ -307,12 +307,12 @@
     }
     if ( _x > _tx + m_x + m_width ) {
 	// to the right
-	return m_reversed ? SelectionPointBeforeInLine : SelectionPointAfterInLine;
+	return  SelectionPointAfterInLine;
     }
 
     // The Y matches, check if we're on the left
     if ( _x < _tx + m_x ) {
-        return m_reversed ? SelectionPointAfterInLine : SelectionPointBeforeInLine;
+        return SelectionPointBeforeInLine;
     }
 
     // consider spacing for justified text
Comment 5 Dik Takken 2006-04-18 11:53:38 UTC
*** Bug 73348 has been marked as a duplicate of this bug. ***