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










<blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
 <p style="margin-top: 0;">On July 1st, 2014, 12:29 p.m. CEST, <b>David Faure</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  



<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/119038/diff/1/?file=285705#file285705line95" style="color: black; font-weight: bold; text-decoration: underline;">src/kcmoduleproxy.cpp</a>
    <span style="font-weight: normal;">

     (Diff revision 1)

    </span>
   </th>
  </tr>
 </thead>

 <tbody style="background-color: #e4d9cb; padding: 4px 8px; text-align: center;">
  <tr>

   <td colspan="4"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">void KCModuleProxyPrivate::loadModule()</pre></td>

  </tr>
 </tbody>



 
 

 <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">95</font></th>
    <td bgcolor="#c5ffc4" width="50%"><pre style="font-size: 8pt; line-height: 140%; margin: 0; ">        <span class="c1">// strip all subdirectories from the library path (i.e. if X-KDE-Library=kcm5/kcm_clock -> kcm_clock)</span></pre></td>
  </tr>

 </tbody>

</table>

  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">technically this could lead to conflicts (if same filename in two different subdirs).

Why not turn '/' into '_' ?

Of course this raises the question of compatibility ... which makes me wonder who uses this dbus stuff in the first place. Any idea?</pre>
 </blockquote>



 <p>On July 1st, 2014, 2:37 p.m. CEST, <b>Alexander Richardson</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">From looking at the code and qdbusviewer it seems all that it exposes is a method applicationName in internal/KSettingsWidget/kcm_clock which returns the same thing as the property in MainApplication/ org.qtproject.Qt.QGuiApplication applicationDisplayName, so I guess this could actually be dropped?</pre>
 </blockquote>





 <p>On July 1st, 2014, 2:39 p.m. CEST, <b>David Faure</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">Not really, since you can load multiple KCMs into the same process
(e.g. with systemsettings, or kcmshell5 <list of modules>)

The question is who is calling this applicationName method, and how does it figure out what to call it on (since that would need to use the same logic as the code here which exposes that method)</pre>
 </blockquote>





 <p>On July 1st, 2014, 2:50 p.m. CEST, <b>Alexander Richardson</b> wrote:</p>
 <blockquote style="margin-left: 1em; border-left: 2px solid #d0d0d0; padding-left: 10px;">
  <pre style="white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">All that grep could find was

frameworks/kcmutils/src/kcmoduleproxy.cpp:157:        QDBusReply<QString> reply = proxy.call(QStringLiteral("applicationName"));</pre>
 </blockquote>







</blockquote>
<pre style="margin-left: 1em; white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; word-wrap: break-word;">This seems to be there to prevent the same kcm to be open the same time in multiple applications, so I guess the best solution is to simply replace / with _</pre>
<br />




<p>- Alexander</p>


<br />
<p>On June 30th, 2014, 5:18 p.m. CEST, Alexander Richardson 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 Alexander Richardson.</div>


<p style="color: grey;"><i>Updated June 30, 2014, 5:18 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;">Previously we would crash with an assertion inside libdbus-1 because of
additional / characters in the dbus path if X-KDE-Library in the
.desktop file pointed to a plugin inside a subdirectory of the plugin
path. We now just use the name of the library and strip all leading
directories from the name that is registered in DBus


This would allow moving all kcms into e.g. plugins/kcm5 which would allow
cleaning up the plugins/ directory</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;">- moved $KF5/lib64/plugins/kcm_clock.so to $KF5/lib64/plugins/kcm5/kcm_clock.so
- changed X-KDE-Library to "kcm5/kcm_clock" in $KF5/share/kservice5/clock.desktop
- ran kbuildsycoca5

"kcmshell5 clock" before this patch -> crash
"kcmshell5 clock" after this patch -> works as expected
</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/kcmoduleproxy.cpp <span style="color: grey">(7596f36e1e26ce080634f3cc0f89e27280423f25)</span></li>

</ul>

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







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








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