On Thu, Jan 22, 2009 at 12:25 PM, [email protected] <[email protected]> wrote:
> > Hi, > > leo (with qt plugin enabled) crashes with a segfault if I follow these > steps: This, and similar bugs, are what I have been urgently working on today. They will be fixed using edit_widget modifications. Work is going well: 1. I removed most calls to tree.edit_widget in Leo's core. It's not feasible to remove all such calls, because, for example, Leo's find commands needs to get widget text for initialization, and to set widget text (or its selection) when a find or change succeeds. Oh sure, I could wrap the call to tree.edit_widget, but that isn't so clever: the widget returned by tree.edit_widget is *already* a wrapper, so essentially nothing would be gained. 2. The major "innovation" is that the qt class no longer tries to remember edit widgets. Instead, leoQtTree.edit_widget *recalculates* the edit widget from scratch. This removes the need for the evil killEditing hack. The qt gui plugin, and especially leoQtTree.edit_widget, are now completely stateless. Trying to keep state up-to-date is impossible in an event-driven situation, and even if it were possible it would be impractically fragile. The new code has a real chance of being robust for the first time. I'm doing final testing now. I'll be committing the new code shortly. 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 -~----------~----~----~----~------~----~------~--~---
