<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="https://git.reviewboard.kde.org/r/116531/">https://git.reviewboard.kde.org/r/116531/</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/116531/diff/5/?file=251442#file251442line38" style="color: black; font-weight: bold; text-decoration: underline;">src/lib/marble/geodata/data/GeoDataPlaylist.cpp</a>
<span style="font-weight: normal;">
(Diff revision 5)
</span>
</th>
</tr>
</thead>
<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">38</font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "> <span class="k">if</span><span class="p">(</span> <span class="n">update1</span> <span class="o">!=</span> <span class="n">update2</span> <span class="p">){</span></pre></td>
</tr>
</tbody>
</table>
<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Comparing pointers here, same for the ones below. Change
if( update1 != update2 ){
to
if( *update1 != *update2 ){</pre>
</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/116531/diff/5/?file=251453#file251453line395" style="color: black; font-weight: bold; text-decoration: underline;">tests/TestEquality.cpp</a>
<span style="font-weight: normal;">
(Diff revision 5)
</span>
</th>
</tr>
</thead>
<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">395</font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "> <span class="n">QCOMPARE</span><span class="p">(</span> <span class="n">tour1</span><span class="p">,</span> <span class="n">tour1</span> <span class="p">);</span></pre></td>
</tr>
</tbody>
</table>
<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Comparing pointers again. I'd change above
GeoDataTour* tour1 = new GeoDataTour;
GeoDataTour* tour2 = new GeoDataTour;
to
GeoDataTour tour1;
GeoDataTour tour2;
then you can keep them here as is, and don't have to cleanup memory at the end of the method.
</pre>
</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/116531/diff/5/?file=251453#file251453line397" style="color: black; font-weight: bold; text-decoration: underline;">tests/TestEquality.cpp</a>
<span style="font-weight: normal;">
(Diff revision 5)
</span>
</th>
</tr>
</thead>
<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">397</font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "> <span class="n">QCOMPARE</span><span class="p">(</span> <span class="n">tour1</span> <span class="o">==</span> <span class="n">tour2</span><span class="p">,</span> <span class="nb">false</span> <span class="p">);</span></pre></td>
</tr>
</tbody>
</table>
<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">They must be equal at this point! It's important to write comparisons in test cases to assert what you *want* the object state to be like. It's tempting to assert instead what the current state is, but that relies on the assumption that the current code is correct and leads to severe errors slip by.</pre>
</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/116531/diff/5/?file=251453#file251453line407" style="color: black; font-weight: bold; text-decoration: underline;">tests/TestEquality.cpp</a>
<span style="font-weight: normal;">
(Diff revision 5)
</span>
</th>
</tr>
</thead>
<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">407</font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "> <span class="n">tour1</span><span class="o">-></span><span class="n">playlist</span><span class="p">()</span><span class="o">-></span><span class="n">swapPrimitives</span><span class="p">(</span> <span class="mi">1</span><span class="p">,</span> <span class="mi">3</span> <span class="p">);</span></pre></td>
</tr>
</tbody>
</table>
<pre style="margin-left: 2em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Great move, but now test that both tours are equal again before inserting another primitive which makes them unequal.</pre>
</div>
<br />
<p>- Dennis Nienhüser</p>
<br />
<p>On March 2nd, 2014, 5:18 p.m. UTC, Sanjiban Bairagya wrote:</p>
<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('https://git.reviewboard.kde.org/static/rb/images/review_request_box_top_bg.ab6f3b1072c9.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
<tr>
<td>
<div>Review request for Marble.</div>
<div>By Sanjiban Bairagya.</div>
<p style="color: grey;"><i>Updated March 2, 2014, 5:18 p.m.</i></p>
<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=331671">331671</a>
</div>
<div style="margin-top: 1.5em;">
<b style="color: #575012; font-size: 10pt;">Repository: </b>
marble
</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;">Added operator== and operator!= to GeoDataAnimatedUpdate, GeoDataSoundCue, GeoDataTourControl, GeoDataWait, GeoDataPlaylist and GeoDataTour</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/marble/geodata/data/GeoDataAnimatedUpdate.h <span style="color: grey">(420eebe)</span></li>
<li>src/lib/marble/geodata/data/GeoDataAnimatedUpdate.cpp <span style="color: grey">(980e856)</span></li>
<li>src/lib/marble/geodata/data/GeoDataPlaylist.h <span style="color: grey">(d7ac52a)</span></li>
<li>src/lib/marble/geodata/data/GeoDataPlaylist.cpp <span style="color: grey">(d23175c)</span></li>
<li>src/lib/marble/geodata/data/GeoDataSoundCue.h <span style="color: grey">(3029ff6)</span></li>
<li>src/lib/marble/geodata/data/GeoDataSoundCue.cpp <span style="color: grey">(3507e96)</span></li>
<li>src/lib/marble/geodata/data/GeoDataTour.h <span style="color: grey">(91ae5d7)</span></li>
<li>src/lib/marble/geodata/data/GeoDataTour.cpp <span style="color: grey">(d9567a6)</span></li>
<li>src/lib/marble/geodata/data/GeoDataTourControl.h <span style="color: grey">(e801bde)</span></li>
<li>src/lib/marble/geodata/data/GeoDataTourControl.cpp <span style="color: grey">(cc6b5cd)</span></li>
<li>src/lib/marble/geodata/data/GeoDataUpdate.h <span style="color: grey">(2a376fd)</span></li>
<li>src/lib/marble/geodata/data/GeoDataUpdate.cpp <span style="color: grey">(a1650ca)</span></li>
<li>src/lib/marble/geodata/data/GeoDataWait.h <span style="color: grey">(0d1bbcc)</span></li>
<li>src/lib/marble/geodata/data/GeoDataWait.cpp <span style="color: grey">(ce55704)</span></li>
<li>tests/TestEquality.cpp <span style="color: grey">(da98d4e)</span></li>
</ul>
<p><a href="https://git.reviewboard.kde.org/r/116531/diff/" style="margin-left: 3em;">View Diff</a></p>
</td>
</tr>
</table>
</div>
</body>
</html>