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










<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On Dezember 14th, 2014, 12:13 nachm. UTC, <b>Milian Wolff</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  


<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="https://git.reviewboard.kde.org/r/121481/diff/1/?file=332968#file332968line120" style="color: black; font-weight: bold; text-decoration: underline;">debuggers/gdb/breakpointcontroller.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; ">struct InsertedHandler : public Handler</pre></td>

  </tr>
 </tbody>



 
 

 <tbody>

  <tr>
    <th bgcolor="#e9eaa8" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">103</font></th>
    <td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">                <span class="n">controller</span><span class="o">-></span><span class="n">update</span><span class="p">(</span><span class="n">breakpoint</span><span class="p">,</span> <span class="n">r</span><span class="p">[</span><span class="s">"bkpt"</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">120</font></th>
    <td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">            <span class="k">for</span> <span class="p">(</span><span class="k">auto</span> <span class="n">kind</span> <span class="o">:</span> <span class="p">{</span><span class="s">"bkpt"</span><span class="p">,</span> <span class="s">"wpt"</span><span class="p">,</span> <span class="s">"hw-rwpt"</span><span class="p">,</span> <span class="s">"hw-awpt"</span><span class="p">})</span> <span class="p">{</span></pre></td>
  </tr>

 </tbody>

</table>

  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">bkpt was special, and is not, anymore - intentional change? maybe just do</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;"><div class="codehilite" style="background: #f8f8f8"><pre style="line-height: 125%"><span style="color: #008000; font-weight: bold">if</span> (r.hasField(<span style="color: #BA2121">"bkpt"</span>)) {
  controller<span style="color: #666666">-></span>update...
} <span style="color: #008000; font-weight: bold">else</span> {
  <span style="color: #008000; font-weight: bold">for</span> (<span style="color: #008000; font-weight: bold">auto</span> kind <span style="color: #666666">:</span> {<span style="color: #BA2121">"wpt"</span>, ...}) {
     ...
  }
}
</pre></div>
</p></pre>
 </blockquote>





</blockquote>
<pre style="margin-left: 1em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">bkpt is still special in that update() is only called for bkpt but not for the others. The new code is indeed different in that controller->m_ids now gets assigned in the InsertedHandler also for bkpt; however, note that assigning controller->m_ids to the same value is the first thing that update() does anyway.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">At the same time, we do need the id for all breakpoint types now in order to be able to send the deletion command. So you either get the redundant assignment of m_ids (which I'm hesistant to remove in update() because that method gets called elsewhere as well; I <em style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">think</em> it can be removed, but I'm not 100% sure) or you have to duplicate the breakpoint id extraction code. I chose the redundant assignment of m_ids.</p></pre>
<br />




<p>- Nicolai</p>


<br />
<p>On Dezember 13th, 2014, 8:14 nachm. UTC, Nicolai Hähnle wrote:</p>









<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="12" style="border: 1px #888a85 solid; border-radius: 6px; -moz-border-radius: 6px; -webkit-border-radius: 6px;">
 <tr>
  <td>

<div>Review request for KDevelop.</div>
<div>By Nicolai Hähnle.</div>


<p style="color: grey;"><i>Updated Dez. 13, 2014, 8:14 nachm.</i></p>









<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
kdevelop
</div>


<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;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">This should prevent the crash observed in https://paste.kde.org/p0vezsuve
Since I am unable to reproduce that crash, it is unclear whether the scenario
that lead to the crash is handled completely correctly now.</p></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;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">unit tests pass</p></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>debuggers/gdb/breakpointcontroller.h <span style="color: grey">(e5338f4f497ee0997de637db80c071b565bc9322)</span></li>

 <li>debuggers/gdb/breakpointcontroller.cpp <span style="color: grey">(a85b441e9622a1b00069e2419d41e1d1d4b20800)</span></li>

</ul>

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






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








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