<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/120633/">https://git.reviewboard.kde.org/r/120633/</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="https://git.reviewboard.kde.org/r/120633/diff/1/?file=320320#file320320line85" style="color: black; font-weight: bold; text-decoration: underline;">projectmanagers/cmake/settings/cmakepreferences.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; ">CMakePreferences::CMakePreferences(QWidget* parent, const QVariantList& args)</pre></td>

  </tr>
 </tbody>



 
 

 <tbody>

  <tr>
    <th bgcolor="#e9eaa8" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">85</font></th>
    <td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">    <span class="n">connect</span><span class="p">(</span><span class="n">m_prefsUi</span><span class="o">-></span><span class="n">environment</span><span class="p">,</span> <span class="n">SIGNAL</span><span class="p">(</span><span class="n">currentIndexChanged</span><span class="p">(</span><span class="kt">int</span><span class="p">)),</span> <span class="k">this</span><span class="p">,</span> <span class="n">SLOT</span><span class="p">(</span><span class="n">changed</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">85</font></th>
    <td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">    <span class="n">connect</span><span class="p">(</span><span class="n">m_prefsUi</span><span class="o">-></span><span class="n">environment</span><span class="o"><span class="hl">-></span></span><span class="n"><span class="hl">comboBox</span></span><span class="p"><span class="hl">()</span>,</span> <span class="n">SIGNAL</span><span class="p">(</span><span class="n">currentIndexChanged</span><span class="p">(</span><span class="kt">int</span><span class="p">)),</span> <span class="k">this</span><span class="p">,</span> <span class="n">SLOT</span><span class="p">(</span><span class="n">changed</span><span class="p">()));</span></pre></td>
  </tr>

 </tbody>

</table>

 <div style="margin-left: 2em;">

  <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;">I don't understand by what mechanism EnvironmentSelectionWidget can be used as a KComboBox without inheriting the class, but whatever the magic it works with the make command settings. Surely there must be a reason why it doesn't work here, and a more elegant fix.
(Notwithstanding the fact that I'd personally prefer more explicit methods, like the one used here or overloading.)</p></pre>
 </div>
</div>
<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="https://git.reviewboard.kde.org/r/120633/diff/1/?file=320320#file320320line86" style="color: black; font-weight: bold; text-decoration: underline;">projectmanagers/cmake/settings/cmakepreferences.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; ">CMakePreferences::CMakePreferences(QWidget* parent, const QVariantList& args)</pre></td>

  </tr>
 </tbody>



 
 

 <tbody>

  <tr>
    <th bgcolor="#e9eaa8" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">86</font></th>
    <td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="ew">    </span></pre></td>
    <th bgcolor="#e9eaa8" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">86</font></th>
    <td bgcolor="#fdfebc" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
  </tr>

 </tbody>


 
 

 <tbody>

  <tr>
    <th bgcolor="#f0f0f0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">87</font></th>
    <td bgcolor="#ffffff" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">    <span class="n">showInternal</span><span class="p">(</span><span class="n">m_prefsUi</span><span class="o">-></span><span class="n">showInternal</span><span class="o">-></span><span class="n">checkState</span><span class="p">());</span></pre></td>
    <th bgcolor="#f0f0f0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">87</font></th>
    <td bgcolor="#ffffff" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">    <span class="n">showInternal</span><span class="p">(</span><span class="n">m_prefsUi</span><span class="o">-></span><span class="n">showInternal</span><span class="o">-></span><span class="n">checkState</span><span class="p">());</span></pre></td>
  </tr>

  <tr>
    <th bgcolor="#f0f0f0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">88</font></th>
    <td bgcolor="#ffffff" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">    <span class="n">m_subprojFolder</span><span class="o">=</span><span class="n">KUrl</span><span class="p">(</span><span class="n">args</span><span class="p">[</span><span class="mi">1</span><span class="p">].</span><span class="n">toString</span><span class="p">()).</span><span class="n">upUrl</span><span class="p">();</span></pre></td>
    <th bgcolor="#f0f0f0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">88</font></th>
    <td bgcolor="#ffffff" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">    <span class="n">m_subprojFolder</span><span class="o">=</span><span class="n">KUrl</span><span class="p">(</span><span class="n">args</span><span class="p">[</span><span class="mi">1</span><span class="p">].</span><span class="n">toString</span><span class="p">()).</span><span class="n">upUrl</span><span class="p">();</span></pre></td>
  </tr>

  <tr>
    <th bgcolor="#f0f0f0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2">89</font></th>
    <td bgcolor="#ffffff" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="ew">    </span></pre></td>
    <th bgcolor="#f0f0f0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">89</font></th>
    <td bgcolor="#ffffff" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "><span class="ew">    </span></pre></td>
  </tr>

 </tbody>

</table>

 <div style="margin-left: 2em;">

  <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;">Whitespace changes are unintentional here</p></pre>
 </div>
</div>
<br />



<p>- René J.V. Bertin</p>


<br />
<p>On October 17th, 2014, 9:16 p.m. CEST, René J.V. Bertin 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 René J.V. Bertin.</div>


<p style="color: grey;"><i>Updated Oct. 17, 2014, 9:16 p.m.</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;">The "configure environment" combobox in "Open Configuration.../CMake/Advanced" recently stopped working for me, printing warnings on the terminal:</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%">Object<span style="color: #666666">::</span>connect<span style="color: #666666">:</span> No such signal KDevelop<span style="color: #666666">::</span>EnvironmentSelectionWidget<span style="color: #666666">::</span>currentIndexChanged(<span style="color: #B00040">int</span>)
Object<span style="color: #666666">::</span>connect<span style="color: #666666">:</span>  (sender name<span style="color: #666666">:</span>   <span style="border: 1px solid #FF0000">'</span>environment<span style="border: 1px solid #FF0000">'</span>)
kdevelop(<span style="color: #666666">27645</span>)<span style="color: #666666">/</span>kdeui (KConfigDialogManager) KConfigDialogManager<span style="color: #666666">::</span>parseChildren<span style="color: #666666">:</span> Don<span style="border: 1px solid #FF0000">'</span>t know how to monitor widget <span style="border: 1px solid #FF0000">'</span> KDevelop<span style="color: #666666">::</span>EnvironmentSelectionWidget <span style="border: 1px solid #FF0000">'</span> <span style="color: #008000; font-weight: bold">for</span> changes<span style="color: #666666">!</span> 
QCoreApplication<span style="color: #666666">::</span>postEvent<span style="color: #666666">:</span> Unexpected null receiver
</pre></div>
</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">In short: the <code style="text-rendering: inherit;color: #4444cc;padding: 0;white-space: normal;margin: 0;line-height: inherit;">EnvironmentSelectionWidget</code> is not recognised (cannot be used) as a KComboBox when compiling <code style="text-rendering: inherit;color: #4444cc;padding: 0;white-space: normal;margin: 0;line-height: inherit;">cmakepreferences.cpp</code>.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I noticed this after "downgrading" from the kde4-legacy branch and reinstalling the 4.7/1.7 code pulled from git. Reverting back to the last kde4-legacy build I had installed did not revert functionality however, and indeed I think that it's been a while that validating a change in the cmake environment profile triggered an invocation of the cmake command.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Curiously the same <code style="text-rendering: inherit;color: #4444cc;padding: 0;white-space: normal;margin: 0;line-height: inherit;">EnvironmentSelectionWidget</code> works fine in the Make section of the same configuration dialog.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I tested a workaround in which I added a function to retrieve the private <code style="text-rendering: inherit;color: #4444cc;padding: 0;white-space: normal;margin: 0;line-height: inherit;">KComboBox</code> pointer from a <code style="text-rendering: inherit;color: #4444cc;padding: 0;white-space: normal;margin: 0;line-height: inherit;">EnvironmentSelectionWidget</code> and use that pointer as the source in the failing connect() call in CMakePreferences::CMakePreferences. </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;">Under OS X 10.6.8 with kdelibs 4.14.2 and kdevplatform 1.7/git, both built with gcc 4.8.3 from MacPorts.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">With the workaround I still get</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%">kdevelop(<span style="color: #666666">64480</span>)<span style="color: #666666">/</span>kdeui (KConfigDialogManager) KConfigDialogManager<span style="color: #666666">::</span>parseChildren<span style="color: #666666">:</span> Don<span style="border: 1px solid #FF0000">'</span>t know how to monitor widget <span style="border: 1px solid #FF0000">'</span> KDevelop<span style="color: #666666">::</span>EnvironmentSelectionWidget <span style="border: 1px solid #FF0000">'</span> <span style="color: #008000; font-weight: bold">for</span> changes<span style="color: #666666">!</span> 
QCoreApplication<span style="color: #666666">::</span>postEvent<span style="color: #666666">:</span> Unexpected null receiver
</pre></div>
</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">on the calling terminal, but changing the environment profile now "sticks" and launches cmake.</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>projectmanagers/cmake/settings/cmakepreferences.cpp <span style="color: grey">(6db6974)</span></li>

</ul>

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



<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">File Attachments </h1>


 <li><a href="https://git.reviewboard.kde.org/media/uploaded/files/2014/10/17/7edf2d31-45d7-45fd-8432-465d28d3834e__patch-envselwidget.diff">accompanying patchfile for kdevplatform/util</a></li>

</ul>




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








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