Georg Baum wrote:
Abdelrazak Younes wrote:

Indeed but first we have to make sure that the CoordCache is properly
filled in for all insets. We can do that recursively as is done in the
rowpainter. One have to extract the part that calls setPosCache() and
transfer that in BufferView::updateMetris().

setPoscache is called in draw() for each inset. Do I understand you right
the now the coord cache needs to be filled when the metrics are calculated?

Yes.

If that is the case we should simply transfer this call to the metrics()
method of each inset

That's what I said yes.

(but that would require x and y coordinates).

The initial coordinates are available in updateMetrics() so that is not a PB.


So it
looks to me that there is a conceptual problem regarding the coord cache.

Indeed.


If you can live without the corners, uncommenting the last line for each
of the
LFUN would solve the problem.

That does indeed solve it, but is not an option.
Leaving the pink corners out makes it very hard to hit the right position.

As I said, there is way to solved that issue differently by painting the corners independently from the text.


BTW, it looks like the cause for this bug in 1.4 and 1.5 is a bit different:
In 1.4 the cache did not get set (I also get frequent aborts via lyxbreaker
if I try to go up with the arrow keys). In 1.5 it seems that it gets set (I
don't get these aborts, pressing the arrow will simply move the cursor
above the screen, and it becomes visible again if it goes out of the inset.

Yes, that's because, in 1.5, when the info is not in the cache, we use the logical information. A FitCursor is probably missing here.

Abdel.

Reply via email to