And adding the list here, too....
On 03/18/2010 05:22 PM, Dov Feldstern wrote:
On Thu, Mar 18, 2010 at 5:48 PM, rgheck<rgh...@comcast.net> wrote:
.
.
I'm guessing that this is the cause of the problem.
Where ought the position to have been set?
I'm not sure I understand this question... Isn't the real question:
why have the metrics not been calculated?
Yes, pretty much, though some of the other metrics have been calculated,
from what I can tell. We end up in redoParagraph, which sets lots of
things. But not position.
Mmmm, reading your description again, could this be an answer to my
question: if the cursor is in par 58, and then par 58 is scrolled off
the screen (but the cursor is still in it!), so then since par 58 is
not painted (it's off the screen) no metrics have been calculated for
it.
Yes, that's right. So does the attached make sense? It seems to solve it
for me, but I have no idea what it does to the RTL stuff.
rh
Index: src/TextMetrics.cpp
===================================================================
--- src/TextMetrics.cpp (revision 33794)
+++ src/TextMetrics.cpp (working copy)
@@ -328,7 +328,10 @@
// no RTL boundary at paragraph start
if (pos == 0)
return false;
-
+
+ if (!contains(pit))
+ return false;
+
ParagraphMetrics & pm = par_metrics_[pit];
// no RTL boundary in empty paragraph
if (pm.rows().empty())