On 03/08/2010 01:19 AM, Pavel Sanda wrote:
Pavel Sanda wrote:
tarball creation is already fixed, monolithic builds checked, short
work with trunk didn't revealed any drastic problems and currently
i monitor two ugly bugs:

- Richard fixed crash #6522, but the price is that outliner doesn't
   work anymore. this needs to be addressed.

This is worse, really. My fix is definitely incorrect...I think. ;-) And I strongly suspect there are similar bugs lurking in other places, all caused by the fact that we call updateBuffer()---the old updateLabels()---too early in various places. The change to Qt 4.6.x reveals the problem: At the end of updateBuffer(), we emit the structureChanged() signal, which causes the TOC to update itself (among other things, I'd guess); when it does so, it eventually tries to set the focus to the main work area, which means accessing the cursor; but the process of updating the cursor, etc, apparently hasn't yet completed, and the cursor points at a paragraph that no longer exists.

If you look in the dispatch routine in Text3.cpp, you'll see that there are 9 different places updateBuffer() is called; there are 7 in Text.cpp; and 2 more in Text2.cpp. This is a problem.

rh

Reply via email to