diff options
author | Martin Gräßlin <mgraesslin@kde.org> | 2016-11-16 14:59:28 +0100 |
---|---|---|
committer | Martin Gräßlin <mgraesslin@kde.org> | 2017-01-06 09:52:45 +0100 |
commit | e0db2422362260a2fea3a8e1de4c64011d2f183d (patch) | |
tree | 59b5ba0e74c5d24d27156e51e54eb1fc0eb02623 /autotests/kconfig_compiler/test8main.cpp | |
parent | 7d53de59b6e65b0cbdf6eaad4f5dbcd341307003 (diff) | |
download | kconfig-e0db2422362260a2fea3a8e1de4c64011d2f183d.tar.gz kconfig-e0db2422362260a2fea3a8e1de4c64011d2f183d.tar.bz2 |
Generate an instance with KSharedConfig::Ptr for singleton and arg
Summary:
In case a kcfg with arg="true" was used and singleton the static
instance method only accepted a QString config name. This made it
impossible to combine a singleton config with an already existing and
open KSharedConfig::Ptr.
With this change an overloaded instance method is added which takes a
KSharedConfig::Ptr as argument. The private ctor, though, only takes a
KSharedConfig::Ptr and the instance method taking a QString argument
uses KSharedConfig::openConfig on the config file name.
The change is source-incompatible in the following situation:
* kcfgfile arg="true"
* Singleton = true
* Inherits is specified
In this situation the previous revision created an instance method with
a QString argument and passed that to the parent constructor. This is
not in accordance with the documentation. Any user of this behavior was
relying on a bug. With this change now the call to the parent
constructor carries a KSharedConfigPtr.
Test Plan:
kconfigcompiler tests still pass and a config with singleton
and arg="true" generates the code as I need it
Reviewers: #frameworks, dfaure, mdawson
Differential Revision: https://phabricator.kde.org/D3690
Diffstat (limited to 'autotests/kconfig_compiler/test8main.cpp')
-rw-r--r-- | autotests/kconfig_compiler/test8main.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/autotests/kconfig_compiler/test8main.cpp b/autotests/kconfig_compiler/test8main.cpp index b8fcc492..9843df72 100644 --- a/autotests/kconfig_compiler/test8main.cpp +++ b/autotests/kconfig_compiler/test8main.cpp @@ -21,6 +21,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. #include "test8a.h" #include "test8b.h" +#include "test8c.h" #include <QGuiApplication> int main(int argc, char **argv) @@ -30,6 +31,8 @@ int main(int argc, char **argv) Test8a *config1 = new Test8a(KSharedConfig::openConfig(QString())); Test8a *config2 = new Test8a(); Test8b::self(); + Test8c::instance(KSharedConfig::openConfig(QString())); + Test8c::self(); delete config1; delete config2; return 0; |