On samedi 10 décembre 2016 19:49:07 CET Martin Graesslin wrote: > To quote: "The \<kcfgfile\> tag may contain either the "name" attribute, > which should be the name of the configuration file described, or the "arg" > attribute, which, if set to "true", will allow you to pass the > KSharedConfig::Ptr object to use." > > We have here the condition of arg="true" and the generated code did not > follow that. If Singleton=true was set in kcfgc an incorrect ctor taking a > QString as argument is generated. That is what my change addresses. > > So yes, anybody who used that was depending on a bug of kconfig compiler.
OK, then that's a good reason for a bugfix indeed, even SIC. > One can argue that my change breaks SIC and I won't deny it. But the usage > of the behavior was wrong. > > I can do a special casing for the (incorrect) kdevelop case to provide SIC, > but it will mean that we get another incorrect code compilation. The special > casing would have to be: > * arg=true > * Singleton=true > * Inherits=true > -> preserve old behavior. I doubt that we win anything by that except of > making the code more complex and the behavior seemingly more random. Right, that doesn't sound good long term. > So from my point of view breaking the incorrect behavior could be acceptable > here. Yes, but after the next kdevplatform release, then, to avoid breaking compilation of released code. Is the kdevplatform bugfix getting into the final 16.12 release? If I read https://community.kde.org/Schedules/Applications/16.12_Release_Schedule correctly, there's still time to sneak it in if needed, before Dec 15. Then we can re-apply the kconfig patch for KF 5.30 (January). > I leave the decision to you. At this point it's actually a decision for the kconfig maintainer, Matthew Dawson. My job is to ensure the KF5 releases are SC/BC, which in this case can be reduced to "a SIC bugfix is acceptable if we leave time for kdevplatform to get a new release which won't be hit by this". -- David Faure, fa...@kde.org, http://www.davidfaure.fr Working on KDE Frameworks 5