<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/100822/">http://git.reviewboard.kde.org/r/100822/</a>
     </td>
    </tr>
   </table>
   <br />



 <p>Ship it!</p>



 <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Looks good (please see the comment).

I think we should keep this. If the repository should ever get corrupted in some way, the user will be able to clear it without having to ask us how to do it. It is true that other crashes are much much more frequent though.</pre>
 <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/100822/diff/1/?file=10773#file10773line287" style="color: black; font-weight: bold; text-decoration: underline;">language/duchain/repositories/itemrepository.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; ">bool ItemRepositoryRegistry::open(const QString& path, bool clear, KLockFile::Ptr lock) {</pre></td>

  </tr>
 </tbody>



 
 




 <tbody>

  <tr>
    <th bgcolor="#e9eaa8" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">280</font></th>
    <td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span class="n">kWarning</span><span class="p">()</span> <span class="o"><<</span> <span class="s">"kdevelop crashed"</span> <span class="o"><<</span> <span class="n">count</span> <span class="o"><<</span> <span class="s">"times in a row with the duchain repository"</span> <span class="o"><<</span> <span class="n">m_path</span> <span class="o"><<</span> <span class="s">", clearing it"</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">287</font></th>
    <td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">          <span class="n">i18n</span><span class="p">(</span><span class="s">"Your DUChain repository might be corrupted. Would you like to clear it? Clicking 'No' will reset the crash counter."</span><span class="p">),</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;">A description that is more understandable to the user would be better. Something like: "The application has crashed %1 times in a row. The crashes might result from a corruped code-analysis repository. Do you want to clear the repository?"</pre>
</div>
<br />



<p>- David</p>


<br />
<p>On March 8th, 2011, 2:25 p.m., Dmitry Risenberg wrote:</p>






<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('http://git.reviewboard.kde.orgrb/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 KDevelop.</div>
<div>By Dmitry Risenberg.</div>


<p style="color: grey;"><i>Updated March 8, 2011, 2:25 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;">Got bitten by the code in ItemRepositoryRegistry::open a few times while debugging, when my repository was cleaned and total reparsing was made. The patch adds a message box which allows the user to choose between cleaning the repository and leaving it as is.

The bigger question - is this code still useful? I haven't experienced any DUChain-related crashes, while crashes for other reasons still happen. So the user might get a full reparsing if some other part of KDevelop misbehaves.</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>language/duchain/repositories/itemrepository.cpp <span style="color: grey">(e603b222330faf994525837e8d0d3c3931dd61c4)</span></li>

</ul>

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




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








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