https://bugs.documentfoundation.org/show_bug.cgi?id=167295

--- Comment #6 from Vladislav Tarakanov <[email protected]> ---
As far as I can see, the cause of the current bug is the following:

The problem appears in the "while (true)" loop in
"sw/source/core/layout/flycnt.cxx", method "GetNextFlyLeaf".

1 while iteration. In "if (bLeftBody || bLeftFly || bSameBody)"

1.1. pOldLayLeaf remembers the current value of pLayLeaf.
1.2. In the do...while loop below, pLayLeaf gets the value of
pLayLeaf->GetNextLayoutLeaf(), which is nullptr.

2 while iteration. In the "else" branch of "if (pLayLeaf)" at the top level, in
the case of "if (eMakePage == MAKEPAGE_INSERT)"

2.1 InsertPage is called
2.2 pLayLeaf gets the value of pOldLayLeaf

After 2.2 pLayLeaf gets the old value, for which
"pLayLeaf->GetNextLayoutLeaf()" is still nullptr, which causes an infinite loop
in the next while iterations.

Amin and I would like to try to fix this problem. Floating table issues affect
many of our users who are trying to migrate from MS Office while keeping their
existing docx files.

There may not be a specific commit that causes this regression, it looks more
like a cumulative issue. Based on this, we have a question - is it expected
that calling the "InsertPage" method will lead to changes in the pOldLayLeaf
fields that will change the value of NextLayoutLeaf from nullprt to something
else?

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to