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



 <p>Ship it!</p>



 <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;">Which magic tool did you come up with this time, to detect such things? :-)</p></pre>
 <br />









<p>- David Faure</p>


<br />
<p>On February 8th, 2015, 8:28 p.m. UTC, Volker Krause 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 KDE Frameworks.</div>
<div>By Volker Krause.</div>


<p style="color: grey;"><i>Updated Feb. 8, 2015, 8:28 p.m.</i></p>









<div style="margin-top: 1.5em;">
 <b style="color: #575012; font-size: 10pt;">Repository: </b>
kcoreaddons
</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 KJobPrivate one saves 24 bytes per instance, the others 8 bytes (on a 64 bit system).</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;"><div class="codehilite" style="background: #f8f8f8"><pre style="line-height: 125%">Struct <span style="color: #BA2121">"Entry (DW_TAG_class_type, offset 393887)"</span> is <span style="color: #008000">sub</span><span style="color: #7D9029">-optimally</span> packed: <span style="color: #666666">74</span>/88 <span style="color: #008000">bytes</span>, <span style="color: #666666">592</span>/704 bits, optimal <span style="color: #008000">size</span> is: <span style="color: #666666">80</span> <span style="color: #008000">bytes</span>
<span style="color: #008000">class</span> KDirWatchPrivate::<span style="color: #A0A000">Entry</span> <span style="color: #408080; font-style: italic">// location: /k/kde5/src/kcoreaddons/src/lib/io/kdirwatch_p.h:83</span>
{
    time_t m_ctime; <span style="color: #408080; font-style: italic">// member offset: 0, size: 8, alignment: 8</span>
    int m_nlink; <span style="color: #408080; font-style: italic">// member offset: 8, size: 4, alignment: 4</span>
    <span style="color: #408080; font-style: italic">// 4 byte(s) padding</span>
    ino_t m_ino; <span style="color: #408080; font-style: italic">// member offset: 16, size: 8, alignment: 8</span>
    entryStatus m_status; <span style="color: #408080; font-style: italic">// member offset: 24, size: 4, alignment: 4</span>
    entryMode m_mode; <span style="color: #408080; font-style: italic">// member offset: 28, size: 4, alignment: 4</span>
    bool <span style="color: #008000">isDir</span>; <span style="color: #408080; font-style: italic">// member offset: 32, size: 1, alignment: 1</span>
    <span style="color: #408080; font-style: italic">// 7 byte(s) padding</span>
    QList<span style="color: #666666"><</span>KDirWatchPrivate::<span style="color: #A0A000">Client</span><span style="color: #666666">*></span> m_clients; <span style="color: #408080; font-style: italic">// member offset: 40, size: 8, alignment: 8</span>
    QList<span style="color: #666666"><</span>KDirWatchPrivate::<span style="color: #A0A000">Entry</span><span style="color: #666666">*></span> m_entries; <span style="color: #408080; font-style: italic">// member offset: 48, size: 8, alignment: 8</span>
    QString <span style="color: #008000">path</span>; <span style="color: #408080; font-style: italic">// member offset: 56, size: 8, alignment: 8</span>
    int msecLeft; <span style="color: #408080; font-style: italic">// member offset: 64, size: 4, alignment: 4</span>
    int freq; <span style="color: #408080; font-style: italic">// member offset: 68, size: 4, alignment: 4</span>
    bool dirty; <span style="color: #408080; font-style: italic">// member offset: 72, size: 1, alignment: 1</span>
    <span style="color: #408080; font-style: italic">// 3 byte(s) padding</span>
    int wd; <span style="color: #408080; font-style: italic">// member offset: 76, size: 4, alignment: 4</span>
    QList<span style="color: #666666"><</span>QString<span style="color: #666666">></span> m_pendingFileChanges; <span style="color: #408080; font-style: italic">// member offset: 80, size: 8, alignment: 8</span>
}; <span style="color: #408080; font-style: italic">// size: 88, alignment: 8</span>

Struct <span style="color: #BA2121">"KJobPrivate (DW_TAG_class_type, offset 1112242)"</span> is <span style="color: #008000">sub</span><span style="color: #7D9029">-optimally</span> packed: <span style="color: #666666">95</span>/120 <span style="color: #008000">bytes</span>, <span style="color: #666666">760</span>/960 bits, optimal <span style="color: #008000">size</span> is: <span style="color: #666666">96</span> <span style="color: #008000">bytes</span>
<span style="color: #008000">class</span> KJobPrivate <span style="color: #408080; font-style: italic">// location: /k/kde5/src/kcoreaddons/src/lib/jobs/kjob_p.h:36</span>
{
    __vtbl_ptr_type<span style="color: #666666">*</span> _vptr.KJobPrivate; <span style="color: #408080; font-style: italic">// member offset: 0, size: 8, alignment: 8</span>
    KJob<span style="color: #666666">*</span> q_ptr; <span style="color: #408080; font-style: italic">// member offset: 8, size: 8, alignment: 8</span>
    KJobUiDelegate<span style="color: #666666">*</span> uiDelegate; <span style="color: #408080; font-style: italic">// member offset: 16, size: 8, alignment: 8</span>
    int <span style="color: #008000">error</span>; <span style="color: #408080; font-style: italic">// member offset: 24, size: 4, alignment: 4</span>
    <span style="color: #408080; font-style: italic">// 4 byte(s) padding</span>
    QString errorText; <span style="color: #408080; font-style: italic">// member offset: 32, size: 8, alignment: 8</span>
    Unit progressUnit; <span style="color: #408080; font-style: italic">// member offset: 40, size: 4, alignment: 4</span>
    <span style="color: #408080; font-style: italic">// 4 byte(s) padding</span>
    QMap<span style="color: #666666"><</span>KJob::<span style="color: #A0A000">Unit</span>, long long unsigned int<span style="color: #666666">></span> processedAmount; <span style="color: #408080; font-style: italic">// member offset: 48, size: 8, alignment: 8</span>
    QMap<span style="color: #666666"><</span>KJob::<span style="color: #A0A000">Unit</span>, long long unsigned int<span style="color: #666666">></span> totalAmount; <span style="color: #408080; font-style: italic">// member offset: 56, size: 8, alignment: 8</span>
    long unsigned int percentage; <span style="color: #408080; font-style: italic">// member offset: 64, size: 8, alignment: 8</span>
    bool suspended; <span style="color: #408080; font-style: italic">// member offset: 72, size: 1, alignment: 1</span>
    <span style="color: #408080; font-style: italic">// 3 byte(s) padding</span>
    <span style="color: #008000">Capabilities</span> <span style="color: #008000">capabilities</span>; <span style="color: #408080; font-style: italic">// member offset: 76, size: 4, alignment: 4</span>
    QTimer<span style="color: #666666">*</span> speedTimer; <span style="color: #408080; font-style: italic">// member offset: 80, size: 8, alignment: 8</span>
    bool isAutoDelete; <span style="color: #408080; font-style: italic">// member offset: 88, size: 1, alignment: 1</span>
    <span style="color: #408080; font-style: italic">// 7 byte(s) padding</span>
    QEventLoop<span style="color: #666666">*</span> eventLoop; <span style="color: #408080; font-style: italic">// member offset: 96, size: 8, alignment: 8</span>
    QEventLoopLocker eventLoopLocker; <span style="color: #408080; font-style: italic">// member offset: 104, size: 8, alignment: 8</span>
    bool isFinished; <span style="color: #408080; font-style: italic">// member offset: 112, size: 1, alignment: 1</span>
    <span style="color: #408080; font-style: italic">// 7 byte(s) padding</span>
}; <span style="color: #408080; font-style: italic">// size: 120, alignment: 8</span>

Struct <span style="color: #BA2121">"KPluginLoaderPrivate (DW_TAG_class_type, offset 1584914)"</span> is <span style="color: #008000">sub</span><span style="color: #7D9029">-optimally</span> packed: <span style="color: #666666">37</span>/48 <span style="color: #008000">bytes</span>, <span style="color: #666666">296</span>/384 bits, optimal <span style="color: #008000">size</span> is: <span style="color: #666666">40</span> <span style="color: #008000">bytes</span>
<span style="color: #008000">class</span> KPluginLoaderPrivate <span style="color: #408080; font-style: italic">// location: /k/kde5/src/kcoreaddons/src/lib/plugin/kpluginloader.cpp:37</span>
{
    KPluginLoader<span style="color: #666666">*</span> q_ptr; <span style="color: #408080; font-style: italic">// member offset: 0, size: 8, alignment: 8</span>
    QString const <span style="color: #008000">name</span>; <span style="color: #408080; font-style: italic">// member offset: 8, size: 8, alignment: 8</span>
    quint32 pluginVersion; <span style="color: #408080; font-style: italic">// member offset: 16, size: 4, alignment: 4</span>
    <span style="color: #408080; font-style: italic">// 4 byte(s) padding</span>
    QString errorString; <span style="color: #408080; font-style: italic">// member offset: 24, size: 8, alignment: 8</span>
    bool pluginVersionResolved; <span style="color: #408080; font-style: italic">// member offset: 32, size: 1, alignment: 1</span>
    <span style="color: #408080; font-style: italic">// 7 byte(s) padding</span>
    QPluginLoader<span style="color: #666666">*</span> loader; <span style="color: #408080; font-style: italic">// member offset: 40, size: 8, alignment: 8</span>
}; <span style="color: #408080; font-style: italic">// size: 48, alignment: 8</span>
</pre></div>
</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>src/lib/io/kdirwatch_p.h <span style="color: grey">(f8cc2bcd5b9a8c65b409873ac78455fbb7db2405)</span></li>

 <li>src/lib/jobs/kjob.cpp <span style="color: grey">(de3b8d7c8985dcc21ef9f52fba47361e9675f192)</span></li>

 <li>src/lib/jobs/kjob_p.h <span style="color: grey">(8bacefecc4dc8d2679a48b224837e0c01516d601)</span></li>

 <li>src/lib/plugin/kpluginloader.cpp <span style="color: grey">(64d7f0cec37ef51a76a3a60637822810cab398e6)</span></li>

</ul>

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






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








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