<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/117680/">https://git.reviewboard.kde.org/r/117680/</a>
</td>
</tr>
</table>
<br />
<pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">This review has been submitted with commit 2db1ec127ee019e39eaeec0d0d0559e47edfb912 by Nicolás Alvarez to branch master.</pre>
<br />
<p>- Commit Hook</p>
<br />
<p>On April 21st, 2014, 6:35 p.m. UTC, Nicolás Alvarez 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 KDE Frameworks.</div>
<div>By Nicolás Alvarez.</div>
<p style="color: grey;"><i>Updated April 21, 2014, 6:35 p.m.</i></p>
<div style="margin-top: 1.5em;">
<b style="color: #575012; font-size: 10pt;">Repository: </b>
kservice
</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;">KSycocaEntry has its copy ctor disabled with Q_DISABLE_COPY. For some reason MSVC emits a copy ctor for KService (a subclass), which calls the copy ctor of KSycocaEntry. This compiles, because KService is a friend of KSycocaEntry, so the copy ctor is accessible despite being private. However, it fails to link because the private copy ctor is not defined anywhere. The same happens with the assignment operator.
Fixed by disabling copy on KService too, so that the compiler doesn't try to emit a copy constructor or assignment operator for it.</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;">Builds on Windows, MSVC2010. Still builds on gcc/Linux.
I didn't test newer MSVC versions, but I think MSVC2013 should be working even without this patch, as Q_DISABLE_COPY will use =delete instead of declaring the functions private.</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/services/kservice.h <span style="color: grey">(bfd6fce)</span></li>
</ul>
<p><a href="https://git.reviewboard.kde.org/r/117680/diff/" style="margin-left: 3em;">View Diff</a></p>
</td>
</tr>
</table>
</div>
</body>
</html>