Re: too many updates of the "outline" on branch 2.5.x
Julien SCORDIA via lyx-devel <[email protected]>
| Newsgroups | gmane.editors.lyx.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi Scott,
Sorry for the late reply too. Indeed I reproduce on my branch (and probably 2.5.1) the problem with <<">>, similar to the problem I described below.
It seems it has been corrected on "master", but I have a compilation error:
make[4]: *** No rule to make target 'insets/InsetNewpage.cpp', needed by 'insets/InsetNewpage.o'. Stop.
make[4]: *** Waiting for unfinished jobs....
CXX insets/InsetNewline.o
Anyway the workaround I indicate below also "solves" this problem.
Regards,
Julien
Note: I have tried to debug LyX (Linux + neovim + DAP using gdb). Putting a breakpoint here
void GuiToc::enableView(bool enable) {
B if (!enable)
Indeed the program stops, but strangely it also stops later, not here but in seemingly calling functions (though there is no breakpoint there). Strange (but I am not very experienced at debugging).
On 4/4/26 19:16, Scott Kostyshak wrote:
> On Sat, Mar 21, 2026 at 10:39:59AM +0100, Julien SCORDIA via lyx-devel wrote:
>> Hello LyX developers,
> Hi Julien, sorry for the late reply!
>
>> I have recently upgraded from LyX 2.3.2 to the 2.5.x branch.
>>
>> I find that on a simple LyX document with a section and subsection,
>>
>>
>> 1 foo
>>
>>
>> 1.1 bar
>>
>> bar1
>> bar2
>> bar3
>>
>> When putting the cursor after bar2 and typing on the return key, the outline is updated. Why? Right now I cannot try in 2.3.2, but it seems to me it was not the case.
> I don't know. I do know that there are a lot of outliner updates that seem unnecessary but it's just complicated to fix it.
>
> If curious, you can see a mailing list thread about a recent regression on outliner updates here:
>
> https://lists.lyx.org/pipermail/lyx-devel/2025-October/015556.html
>
> I don't imagine it's related to your issue, but mention it just in case.
>
>> On a large file I am working on, I obtain some LyX crashes (without precise scenario, unfortunately), and I suspect that these frequent outline updates are linked to that.
> I don't have good intuition here, but it would surprise me if the crash
> is due to the frequent outline updates. In my experience, a crash
> sometimes happens because there aren't enough updates (other kinds of
> updates though, such as refreshing cached values). Just a guess though.
>
> It would be great to figure out a recipe for what causes your crash.
>
>> To avoid these updates, it is enough to simply return before updateViewNow() in GuiToc.cpp:
>>
>> void GuiToc::enableView(bool enable)
>> {
>> if (!enable)
>> // In the opposite case, updateView() will be called anyway.
>> return;
>> widget_->updateViewNow();
>> }
>>
>> I have not been able to find which method is calling enableView() again and again.
>>
>> Am I right that there is a problem to solve here?
> Yes. My guess is that the problem is just quite complicated.
>
> Scott
>
--
lyx-devel mailing list
[email protected]
https://lists.lyx.org/mailman/listinfo/lyx-devel