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
-~----------~----~----~----~------~----~------~--~---

Reply via email to