<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/120586/">https://git.reviewboard.kde.org/r/120586/</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;">I think we need a way to compare whether two plugins are the same. Even with the additional comparison of libraryPath(). libraryPath may be the same for some plugins (those that only differ in metadata, for example to provide default arguments, or somesuch), that's only the case where metadata file (.desktop) and actual plugin (.so file for example) differ. This patch works, since when the metadata is loaded from the .so file itself, we can be sure it's the same metadata, so it works also in those cases.</p>
<p style="padding: 0;text-rendering: inherit;margin: 0;line-height: inherit;white-space: inherit;">I think it doesn't hurt to also fix entryPath for plugins loading their metadata from the .so file. In the end, .desktop or .so is an implementation detail that should not be reflected in the API's usage.</p></pre>
<br />
<p>- Sebastian Kügler</p>
<br />
<p>On October 14th, 2014, 6:52 p.m. UTC, Alexander Richardson 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 Alexander Richardson.</div>
<p style="color: grey;"><i>Updated Oct. 14, 2014, 6:52 p.m.</i></p>
<div style="margin-top: 1.5em;">
<b style="color: #575012; font-size: 10pt;">Repository: </b>
kcmutils
</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;">KPluginSelector always assumed those plugins had already been added to
the list because it only compares KPluginInfo::entryPath() for equality
which returns an empty string if the plugin metadata was loaded directly
from the shared library. Therefore as soon as one plugin with the
metadata embedded into the library had been loaded all others would
compare equal to that.
Is this the correct fix or should KPluginInfo::entryPath() be changed?</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/kpluginselector_p.h <span style="color: grey">(43648114224f476ea3c30f6bd255206f9c415d21)</span></li>
</ul>
<p><a href="https://git.reviewboard.kde.org/r/120586/diff/" style="margin-left: 3em;">View Diff</a></p>
</td>
</tr>
</table>
</div>
</body>
</html>