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










<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On July 11th, 2015, 12:06 a.m. BST, <b>Alex Richardson</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/124313/diff/1/?file=383961#file383961line54" style="color: black; font-weight: bold; text-decoration: underline;">krazy2plugin.h</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; ">public:</pre></td>

  </tr>
 </tbody>



 
 

 <tbody>

  <tr>
    <th bgcolor="#b1ebb0" style="border-right: 1px solid #C0C0C0;" align="right"><font size="2"></font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "></pre></td>
    <th bgcolor="#b1ebb0" style="border-left: 1px solid #C0C0C0; border-right: 1px solid #C0C0C0;" align="right"><font size="2">54</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">    <span class="n">virtual</span> <span class="n">KDevelop</span><span class="o">::</span><span class="n">ConfigPage</span><span class="o">*</span> <span class="n">configPage</span><span class="p">(</span><span class="kt">int</span> <span class="n">number</span><span class="p">,</span> <span class="n">QWidget</span> <span class="o">*</span><span class="n">parent</span><span class="p">)</span> <span class="n">override</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;">You also need to override <code style="text-rendering: inherit;color: #4444cc;padding: 0;white-space: normal;margin: 0;line-height: inherit;">int configPages()</code> to return 1, then the page should show up.</p></pre>
 </blockquote>



 <p>On July 12th, 2015, 9:31 p.m. BST, <b>Laszlo Kis-Adam</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;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Great, thanks!
Now it instantiates the config page, however that crashes right away, because the generated configpage wants to use a KDevelop::IProject, from KDevelop::ProjectConfigOptions. Sadly the IProject is passed as NULL.</p></pre>
 </blockquote>





 <p>On July 12th, 2015, 9:33 p.m. BST, <b>Laszlo Kis-Adam</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;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Oh but I can see why.
return new Krazy2Preferences(this, KDevelop::ProjectConfigOptions(), parent);</p></pre>
 </blockquote>





 <p>On July 12th, 2015, 9:53 p.m. BST, <b>Milian Wolff</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;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">so can you solve your issue, or do you need help? In general, whenever you hit a crash or assert, always post a backtrace as well, otherwise it's hard for us to help you.</p></pre>
 </blockquote>





 <p>On July 12th, 2015, 10:04 p.m. BST, <b>Laszlo Kis-Adam</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;"><p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I don't know yet.
The problem is simple. There are 2 settings page methods, one for the per project settings pages, and another one for just a simple settings page.
The problem is I mixed the two. I've overriden the simple settings page method, and returned a per project settings page, that requires this ProjectConfigOptions struct to be passed.
So I have to figure out how to use the simple settings page.
Up until now I've used the Ninja builder plugin as an example to follow (for the settings page), now I either have to find another example, or I have to figure out how to use this settings page myself.
So like I've said, I don't know yet. We'll see.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Also I didn't post a bt, simply because I didn't think it would help. I also explained the reason for the crash. That + the diff should have been more than enough to see what I am talking about ;)</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;">Inherit from KDevelop::ConfigPage instead if it is a global settings page (I think it is) and then you don't need the ProjectConfigOptions.
A simple example would be kdevplatform/shell/settings/uisettings.cpp. Although you need to pass and instance of the Krazy2Plugin to the ConfigPage constructor instead of nullptr. If you pass null it will still be added to the dialog even after the plugin is unloaded -> crash.</p></pre>
<br />




<p>- Alex</p>


<br />
<p>On July 10th, 2015, 2:05 a.m. BST, Laszlo Kis-Adam 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 Laszlo Kis-Adam.</div>


<p style="color: grey;"><i>Updated July 10, 2015, 2:05 a.m.</i></p>









<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
kdev-krazy2
</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;">Ported the plugin to KF5</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;"><ul style="padding: 0;text-rendering: inherit;margin: 0 0 0 1em;line-height: inherit;white-space: normal;">
<li style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">It builds</li>
<li style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">It seems to work. See video https://www.youtube.com/watch?v=xx1aqh2lJr0</li>
<li style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: normal;">Doesn't seem to crash during work</li>
</ul></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>CMakeLists.txt <span style="color: grey">(0d26b03)</span></li>

 <li>analysisjob.cpp <span style="color: grey">(13d47a4)</span></li>

 <li>analysisresultsparser.cpp <span style="color: grey">(41a6499)</span></li>

 <li>checkerlistjob.cpp <span style="color: grey">(3de323d)</span></li>

 <li>issue.cpp <span style="color: grey">(d7525ee)</span></li>

 <li>issuewidget.cpp <span style="color: grey">(cb78200)</span></li>

 <li>kdevkrazy2.desktop <span style="color: grey">(f92e3ee)</span></li>

 <li>kdevkrazy2.json <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krazy2dialog.h <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krazy2dialog.cpp <span style="color: grey">(PRE-CREATION)</span></li>

 <li>krazy2plugin.h <span style="color: grey">(d362aff)</span></li>

 <li>krazy2plugin.cpp <span style="color: grey">(7c203d6)</span></li>

 <li>krazy2view.h <span style="color: grey">(16be779)</span></li>

 <li>krazy2view.cpp <span style="color: grey">(92b36ff)</span></li>

 <li>krazy2view.ui <span style="color: grey">(c1d248c)</span></li>

 <li>selectcheckerswidget.ui <span style="color: grey">(2d4d0ec)</span></li>

 <li>selectpathswidget.cpp <span style="color: grey">(04bf270)</span></li>

 <li>selectpathswidget.ui <span style="color: grey">(252c9dd)</span></li>

 <li>settings/CMakeLists.txt <span style="color: grey">(874cb54)</span></li>

 <li>settings/kcm_kdev_krazy2settings.desktop <span style="color: grey">(fe59f4a)</span></li>

 <li>settings/krazy2config.kcfg <span style="color: grey">(001f799)</span></li>

 <li>settings/krazy2config.kcfgc <span style="color: grey">(c5bc909)</span></li>

 <li>settings/krazy2preferences.h <span style="color: grey">(96e80af)</span></li>

 <li>settings/krazy2preferences.cpp <span style="color: grey">(b43d820)</span></li>

 <li>tests/CMakeLists.txt <span style="color: grey">(573c2c1)</span></li>

 <li>tests/analysisjobtest.cpp <span style="color: grey">(bc672a0)</span></li>

 <li>tests/analysisparameterstest.cpp <span style="color: grey">(4c80683)</span></li>

 <li>tests/analysisprogressparsertest.cpp <span style="color: grey">(d2cf9f6)</span></li>

 <li>tests/analysisresultsparsertest.cpp <span style="color: grey">(c08ec35)</span></li>

 <li>tests/analysisresultstest.cpp <span style="color: grey">(cbb0365)</span></li>

 <li>tests/checkerlistjobtest.cpp <span style="color: grey">(aa46399)</span></li>

 <li>tests/checkerlistparsertest.cpp <span style="color: grey">(8fec279)</span></li>

 <li>tests/checkermodeltest.cpp <span style="color: grey">(124a5a5)</span></li>

 <li>tests/checkertest.cpp <span style="color: grey">(d399af5)</span></li>

 <li>tests/issuemodeltest.cpp <span style="color: grey">(cdf4de7)</span></li>

 <li>tests/issuetest.cpp <span style="color: grey">(25436a3)</span></li>

 <li>tests/issuewidgettest.cpp <span style="color: grey">(a20bedf)</span></li>

 <li>tests/krazy2viewtest.cpp <span style="color: grey">(beabcf9)</span></li>

 <li>tests/selectcheckerswidgettest.cpp <span style="color: grey">(c27ea28)</span></li>

 <li>tests/selectpathswidgettest.cpp <span style="color: grey">(7dbbdfe)</span></li>

 <li>tests/sortedissuesproxymodeltest.cpp <span style="color: grey">(6d92b28)</span></li>

</ul>

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






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







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