<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="http://svn.reviewboard.kde.org/r/6047/">http://svn.reviewboard.kde.org/r/6047/</a>
     </td>
    </tr>
   </table>
   <br />


<table bgcolor="#fefadf" width="100%" cellspacing="0" cellpadding="8" style="background-image: url('http://svn.reviewboard.kde.orgrb/images/review_request_box_top_bg.png'); background-position: left top; background-repeat: repeat-x; border: 1px black solid;">
 <tr>
  <td>

<div>Review request for kdelibs.</div>
<div>By John Layt.</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;">KLocale can be constructed with reference to a config file, variously passed in as either a KSharedConfig::Ptr or KConfig*, or just defaulting to the global, however KLocale doesn't keep track of the original config used as it hasn't needed to.  Now however KCalendarSystem also reads some user settings from the config file, but the delayed creation of the calendar object by KLocale means the config file is not available when needed and so those settings are effectively ignored.  Changing the calendar system also requires the config for the new calendar system to be read.

This fix keeps a KSharedConfig pointer to the config file in KLocale (null if using the global) and cleans up some use of the config itself.  However I'm a little uncertain I've done the right thing when a KConfig* is passed in rather than a KSharedConfig::Ptr, taking a copy of the KConfig in a new KSharedConfig seemed the only way, unless someone knows a better option.  I'm also not sure when doing the copy if the new KSharedConfig should use the same file name as the original KConfig, a null QString(), or something else?

Note: the apidox already warns that when passing the KSharedConfig::Ptr in that it must exist for the life of the KLocale object, but there's no such warning on the KConfig* constructor or setCountry/setLanguage methods.</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;">All unit tests pass, my problem with KCalendarSystem not loading user settings when created by a KLocale is fixed.</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>/trunk/KDE/kdelibs/kdecore/localization/klocale.cpp <span style="color: grey">(1203620)</span></li>

 <li>/trunk/KDE/kdelibs/kdecore/localization/klocale_kde.cpp <span style="color: grey">(1203620)</span></li>

 <li>/trunk/KDE/kdelibs/kdecore/localization/klocale_mac.cpp <span style="color: grey">(1203620)</span></li>

 <li>/trunk/KDE/kdelibs/kdecore/localization/klocale_mac_p.h <span style="color: grey">(1203620)</span></li>

 <li>/trunk/KDE/kdelibs/kdecore/localization/klocale_p.h <span style="color: grey">(1203620)</span></li>

 <li>/trunk/KDE/kdelibs/kdecore/localization/klocale_unix.cpp <span style="color: grey">(1203620)</span></li>

 <li>/trunk/KDE/kdelibs/kdecore/localization/klocale_unix_p.h <span style="color: grey">(1203620)</span></li>

 <li>/trunk/KDE/kdelibs/kdecore/localization/klocale_win.cpp <span style="color: grey">(1203620)</span></li>

 <li>/trunk/KDE/kdelibs/kdecore/localization/klocale_win_p.h <span style="color: grey">(1203620)</span></li>

</ul>

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




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




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