To comment on the following update, log in, then open the issue:
http://www.openoffice.org/issues/show_bug.cgi?id=75008





------- Additional comments from [EMAIL PROTECTED] Wed Jul 11 15:49:32 +0000 
2007 -------
->lijian:
You are first finding support my suspicion that MakeFrms does not a good job.
You are second finding, I do not know why the table vanished but I doubt that
this is a healthy situation.
My theory: MakeFrms does not insert the SwTabFrm into the right layout structure
because of the wrong use of SwNode2Layout::NextFrm. NextFrm is not abnle to
create a new SwSectFrm, but this is necessary for the new table node. Did you
have a look at our wiki:
http://wiki.services.openoffice.org/wiki/Writer_Core_And_Layout#Examples
the sixth example is like the bug situation:
1. You have a SwTxtNode and the corresponding SwTxtFrm
2. You Insert two nested section node with paragraphs and table into the nodes
array:
<Section 1>
  <Text A/>
  <Section 2>
    <Text B/>
  </Section 2>
  <Table/>
  <Text C/>
</Section 1>
Then you should get the following layout structure:
<SectFrm 1 (Part 1)>
  <TxtFrm A/>
</SectFrm 1(Part 1)>
<SectFrm 2>
  <TxtFrm B/>
</SectFrm 2>  
<SectFrm 1(Part 2)>
  <TabFrm/>
  <TxtFrm C/>
</SectFrm 1(Part 2)>  
but you get
<SectFrm 1 (Part 1)>
  <TxtFrm A/>
</SectFrm 1(Part 1)>
<SectFrm 2>
  <TxtFrm B/>
</SectFrm 2>  
<TabFrm/>
<SectFrm 1(Part 2)>
  <TxtFrm C/>
</SectFrm 1(Part 2)>  
The SwTabFrm is not a lower of a SwSectFrm and this is the root cause for the
following crash!
When Undo performs, it deleted as section 1 as well as section 2. The
corresponding SwSectFrms will be deleted and their lower frames. The SwTabFrm is
not a lower of such SwSectFrm and will be not destroyed.
You said, an additional paragraph before the table makes all working. Why?
Because the MakeFrm for this additional paragraph uses SwNode2Layout::UpperFrm
instead of NextFrm.
UpperFrm creates the missed SwSectFrm and inserts the paragraph into the right
layout position. The MakeFrm of the table afterwards uses NextFrm but this works
because now it is not necessary to create a SwSectFrm, this has already be done
and the SwTabFrm will be inserted right after the SwTxtFrm of the newly added
paragraph.


---------------------------------------------------------------------
Please do not reply to this automatically generated notification from
Issue Tracker. Please log onto the website and enter your comments.
http://qa.openoffice.org/issue_handling/project_issues.html#notification

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to