Scintilla can segfault when scroll_to_line is called from a
NotifyPainted handler. When gtk is used, the scroll code calls down to
the Paint method and, if a line layout cache is in use, can cause
corruption because a layout object can be deleted in the inner method
while it is referenced in the outer method.
The quick fix is not to scroll from the handler, but I'd like to prevent
this bug from happening again. The options are to detect re-entry into
the Paint method or to modify the layout cache so it handles re-entry.
My initial thought is to modify the layout cache, but it would be better
to add the re-entry check if other parts of Editor::Paint can't handle
re-entry. Which approach should I implement?
Thanks,
John
_______________________________________________
Scintilla-interest mailing list
[email protected]
http://mailman.lyra.org/mailman/listinfo/scintilla-interest