<html>
 <body>
  <div style="font-family: Verdana, Arial, Helvetica, Sans-Serif;">
   <table bgcolor="#f9f3c9" width="100%" cellpadding="8" style="border: 1px #c9c399 solid;">
    <tr>
     <td>
      This is an automatically generated e-mail. To reply, visit:
      <a href="http://git.reviewboard.kde.org/r/103674/">http://git.reviewboard.kde.org/r/103674/</a>
     </td>
    </tr>
   </table>
   <br />









<div>




<table width="100%" border="0" bgcolor="white" style="border: 1px solid #C0C0C0; border-collapse: collapse; margin: 2px padding: 2px;">
 <thead>
  <tr>
   <th colspan="4" bgcolor="#F0F0F0" style="border-bottom: 1px solid #C0C0C0; font-size: 9pt; padding: 4px 8px; text-align: left;">
    <a href="http://git.reviewboard.kde.org/r/103674/diff/1/?file=46434#file46434line1293" style="color: black; font-weight: bold; text-decoration: underline;">libs/odf/tests/TestXmlReaderWithoutSpaces.cpp</a>
    <span style="font-weight: normal;">

     (Diff revision 1)

    </span>
   </th>
  </tr>
 </thead>

 <tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
  <tr>

   <td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">void TestXmlReaderWithoutSpaces::testMismatchedTag()</pre></td>

  </tr>
 </tbody>



 
 




 <tbody>

  <tr>
    <th bgcolor="#e9eaa8" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">1280</font></th>
    <td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">    <span class="n">xmlstream</span> <span class="hl">  </span><span class="o"><span class="hl"><<</span></span> <span class="s">"<mercurius/>"</span><span class="p">;</span></pre></td>
    <th bgcolor="#e9eaa8" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">1293</font></th>
    <td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="cm">    xmlstream <span class="hl"><<  </span> "<mercurius/><span class="hl">\n</span>";</span></pre></td>
  </tr>

 </tbody>

</table>

<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">testXMLReaderWithoutSpaces was a clone of testXMLReader, except that the xmlstreams should not contain whitespaces/tabs/newlinews between nodes.

Therefore, your change here is incorrect.</pre>
</div>
<br />



<p>- Jaime Torres</p>


<br />
<p>On January 11th, 2012, 12:08 p.m., Dag Andersen wrote:</p>






<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('http://git.reviewboard.kde.org/media/rb/images/review_request_box_top_bg.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
 <tr>
  <td>

<div>Review request for Calligra.</div>
<div>By Dag Andersen.</div>


<p style="color: grey;"><i>Updated Jan. 11, 2012, 12:08 p.m.</i></p>






<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Description </h1>
 <table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Symptom:
Plan (sometimes) crashes and valgrind reports "Invalid read size".

When KoXml* is converted to QDom* a temporary QDomDocument is used to create nodes.
This results in deleted nodes when the document goes out of scope.
>From QDomDocument api docs:
"Since elements, text nodes, comments, processing instructions, etc., cannot exist outside the context of a document, the document class also contains the factory functions needed to create these objects. The node objects created have an ownerDocument() function which associates them with the document within whose context they were created."

In short the patch passes ownerDoc as a reference and appends the converted nodes to the ownerDoc.
Also asQDomNode()/asQDomElement() does not return anything, the node must be found in ownerDoc.

Modifications to the users is not included.

Note that the patch is not quite finished because I don't understand the TestXmlReaderWithoutSpaces unit test.</pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Testing </h1>
<table width="100%" bgcolor="#ffffff" cellspacing="0" cellpadding="10" style="border: 1px solid #b8b5a0">
 <tr>
  <td>
   <pre style="margin: 0; padding: 0; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Unit test passes (but it did before too).
No crash in Plan.</pre>
  </td>
 </tr>
</table>




<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> </h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>libs/odf/KoXmlReader.h <span style="color: grey">(231651c)</span></li>

 <li>libs/odf/KoXmlReader.cpp <span style="color: grey">(13a6d47)</span></li>

 <li>libs/odf/tests/TestXmlReader.cpp <span style="color: grey">(6631b64)</span></li>

 <li>libs/odf/tests/TestXmlReaderWithoutSpaces.cpp <span style="color: grey">(5179846)</span></li>

</ul>

<p><a href="http://git.reviewboard.kde.org/r/103674/diff/" style="margin-left: 3em;">View Diff</a></p>




  </td>
 </tr>
</table>








  </div>
 </body>
</html>