<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/4/?file=251402#file251402line50" style="color: black; font-weight: bold; text-decoration: underline;">src/lib/marble/geodata/data/GeoDataTour.cpp</a>
<span style="font-weight: normal;">
(Diff revision 4)
</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">50</font></th>
<td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; "> <span class="k">return</span> <span class="n">d</span><span class="o">-></span><span class="n">m_playlist</span> <span class="o">==</span> <span class="n">other</span><span class="p">.</span><span class="n">d</span><span class="o">-></span><span class="n">m_playlist</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;">Must instead be
return *d->m_playlist == *other.d->m_playlist;
otherwise you compare pointers.
</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/4/?file=251409#file251409line390" style="color: black; font-weight: bold; text-decoration: underline;">tests/TestEquality.cpp</a>
<span style="font-weight: normal;">
(Diff revision 4)
</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">390</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="o">&</span><span class="n">tour1</span> <span class="o">==</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;">You're comparing pointers here! That's not what we want to do. Furthermore the two tours should be equal at this point because you've added the same number of default constructed playlist primitives in the same order.
There's an ownership problem in the way the primitives are used here. You need to create them on the heap because GeoDataTour will take ownership of them and delete them when it is destructed (missing in the code currently, but intended to behave like that). Therefore please change
GeoDataAnimatedUpdate animatedUpdate1;
to
GeoDataAnimatedUpdate* animatedUpdate1 = new GeoDataAnimatedUpdate;
and so on, and change
playlist1.addPrimitive( &animatedUpdate1 );
to
playlist1.addPrimitive( animatedUpdate1 );
etc.
Similar for the compare/verify calls, change
QCOMPARE( &tour1, &tour1 );
to
QCOMPARE( tour1, tour1 );
</pre>
</div>
<br />
<p>- Dennis Nienhüser</p>
<br />
<p>On March 2nd, 2014, 1:48 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, 1:48 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">(7a37b02)</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>