http://bugs.winehq.org/show_bug.cgi?id=3992
winebugzilla@sun.consumer.org.il changed:
What |Removed |Added ---------------------------------------------------------------------------- OtherBugsDependingO| |1425 nThis| |
------- Additional Comments From winebugzilla@sun.consumer.org.il 2007-11-01 15:45 ------- The shaping part of this bug has a (temporary) patch waiting commit. The rest of the bug is tightly related to bug #1425, but I'm not sure if it's tightly enough to declare this a duplicate of 1425 or not.
The core problem is related to an optimization done to the edit control that causes it to only redraw the parts it think were affected. As the edit contol is unaware of BiDi, it always redraws the rightmost part, which is the wrong part to redraw in case of RTL languages.
The Windows Edit control redraws the entire affected line. This used to be the case for Wine several years ago, but was "optimized" to the current behaviour due to the flicker that the original approach caused, posibly due to our drawing code not being as opimized as the Windows part at the time.
As a quick solution to this problem we can restore the "repaint whole line" behaviour if the line has any RTL sequences in it.
I'm looking for a sponsor who will help me commit time to BiDi on Wine, and a rewritten Edit control is, probably, the biggest job on that task list.
Shachar