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