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




<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 Choqok.</div>
<div>By Ignacio R. Morelle.</div>


<p style="color: grey;"><i>Updated June 19, 2016, 7:15 a.m.</i></p>



<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Changes</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;">Minor formatting bit I missed in the previous revision, oops.</pre>
  </td>
 </tr>
</table>





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


 <a href="http://bugs.kde.org/show_bug.cgi?id=364408">364408</a>


</div>



<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
choqok
</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;">In /r/128220, while my change does fix the About dialog contents being missing, it does so by introducing new non-fatal errors during application startup:</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: #408080; font-style: italic">% choqok --version</span>
org.kde.choqok: Choqok  <span style="color: #666666">1.5</span>.<span style="color: #666666">80</span>
kf5.kcoreaddons.kaboutdata: Could not initialize the equivalent <span style="color: #008000; font-weight: bold">properties</span> of Q<span style="color: #666666">*</span>Application: no instance (yet) existing.
org.kde.choqok:
kf5.kcoreaddons.kaboutdata: QCoreApplication::applicationVersion "" is out<span style="color: #666666">-</span>of<span style="color: #666666">-</span>sync with KAboutData::applicationData().version "<span style="color: #666666">1.5</span>.<span style="color: #666666">80</span>"
kf5.kcoreaddons.kaboutdata: QCoreApplication::organizationDomain "kde.org" is out<span style="color: #666666">-</span>of<span style="color: #666666">-</span>sync with KAboutData::applicationData().organizationDomain "gnufolks.org"
kf5.kcoreaddons.kaboutdata: QGuiApplication::desktopFileName "" is out<span style="color: #666666">-</span>of<span style="color: #666666">-</span>sync with KAboutData::applicationData().desktopFileName "org.gnufolks.choqok"
org.kde.choqok:
org.kde.choqok:
org.kde.choqok:
org.kde.choqok.lib:
choqok <span style="color: #666666">1.5</span>.<span style="color: #666666">80</span>
org.kde.choqok.lib: Destructing plugin manager without going through the shutdown process!
</pre></div>
</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">After looking more into how other KDE applications set up their KAboutData structure, I realized that the original QApplication(ChoqokApplication)/KAboutData initialization order was correct. The correct cause of the version info dialog coming up empty seems to be the MainWindow instance being created in the ChoqokApplication constructor before registering the KAboutData.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">So the proposed fix does involve some refactoring to be able to postpone the construction of the MainWindow until the KAboutData is registered from main(). I believe it's safe to postpone it until after all command line processing and config migration is out of the way.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">Additionally (and this is important), the new patch explicitly sets the organization domain to kde.org in the KAboutData to match the original QApplication data set in the ChoqokApplication ctor, as well as the D-Bus info. Previously, KAboutData was defaulting to gnufolks.org as per the homePageAddress parameter to its ctor. The QApplication data is also now made to explicitly match the KAboutData.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;"><code style="text-rendering: inherit;color: #4444cc;padding: 0;white-space: normal;margin: 0;line-height: inherit;">--version</code> output with the new patch applied:</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: #408080; font-style: italic">% choqok --version</span>
org.kde.choqok: Choqok  <span style="color: #666666">1.5</span>.<span style="color: #666666">80</span>
org.kde.choqok:
choqok <span style="color: #666666">1.5</span>.<span style="color: #666666">80</span>
</pre></div>
</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">(Worth noting that my experience with Qt thus far is mostly from the Qt 4 times, and I'm new to working with the KDE codebase. Also, sometimes Choqok segfaults on exit for reasons unrelated to either patch. I will report a bug for this separately.)</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;">Built and ran choqok, both without any command line arguments, or passing either --version or --help.</li>
</ul></pre>
  </td>
 </tr>
</table>


<h1 style="color: #575012; font-size: 10pt; margin-top: 1.5em;">Diffs</b> (updated)</h1>
<ul style="margin-left: 3em; padding-left: 0;">

 <li>choqok/choqokapplication.h <span style="color: grey">(2e0f2c3)</span></li>

 <li>choqok/choqokapplication.cpp <span style="color: grey">(50fc9cd)</span></li>

 <li>choqok/main.cpp <span style="color: grey">(40c0e16)</span></li>

</ul>

<p><a href="https://git.reviewboard.kde.org/r/128236/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/2016/06/19/45192a57-420c-4d64-9c41-7532c331d556__choqok-version-dialog-fix-v2.1.diff">choqok-version-dialog-fix-v2.1.diff</a></li>

</ul>




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



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