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





<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On October 25th, 2012, 3:30 p.m., <b>Andreas Pakulat</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">I'm wondering wether this is really the right place to fix this, or wether maybe the places using the class should not pass temporaries to it? How many places are actually affected by this and how many are not and hence would rather keep a reference since that safes memory (how much memory is needed for the variable? and how many are there?)</pre>
 </blockquote>







</blockquote>

<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">There is no memory saving since the TypePtr has only one member - pointer to T, so the size of TypePtr<T> and TypePtr<T>& should be the same. There are two usages of DeclarationChecker where the dataType is a temp, and two where it is not a temp. I prefer mine solution over fixing the uses since it makes us safe for future.</pre>
<br />








<p>- Maciej</p>


<br />
<p>On October 25th, 2012, 1:42 p.m., Maciej Cencora 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 KDevelop.</div>
<div>By Maciej Cencora.</div>


<p style="color: grey;"><i>Updated Oct. 25, 2012, 1:42 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;">Sometimes we pass a reference to temporary variable (i.e. AbstractType::Ptr() ) as _dataType param to DeclarationChecker constructor.
It is later used in operator() member function, while this temp variable does not exist anymore resulting in SIGSEGV.
Fix this by storing copy of dataType instead of const ref inside DeclarationChecker.</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;">None. How do I run all UTs for kdevplatform?</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/topducontextutils.h <span style="color: grey">(349ba50)</span></li>

</ul>

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




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








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