On Oct 25, 12:38 pm, "Edward K. Ream" <[EMAIL PROTECTED]> wrote:
> Under some (as-yet-unclear) circumstances the qt plugin can replace > the contents of one node with another. This bug be fixed before the qt > plugin has any chance of being safe. I think I have found an important simplification: rather than a single selectHint method, Leo's core now calls tree.beforeSelectHint at the very start of the tree-select process and tree.afterSelectHint at the end of the tree-select process. This is done in tree.select using a try/finally block, so tree.beforeSelectHint will surely be matched by tree.afterSelectHint. tree.beforeSelectHint now is the *only* method that sets tree.selecting, and similarly tree.afterSelectHint is the *only* method that clears tree.selecting. Happily qt will generate an onTextChanged event *between* those two calls, so onTextChanged can simply do nothing when tree.selecting is True. This is a *huge* simplification: onTextChanged doesn't have to "figure anything out." More importantly, perhaps, it eliminates some very dubious state variables in the leoQtTree class. Such state variables must be avoided at all costs. This simplification has a chance of making the qt tree code completely reliable, but only extensive dog-fooding will show for sure. In short, there is progress, but I discourage anyone from using the qt plugin until further notice. Edward --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "leo-editor" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/leo-editor?hl=en -~----------~----~----~----~------~----~------~--~---
