aboutsummaryrefslogtreecommitdiff
path: root/autotests/kconfig_compiler/test8main.cpp
diff options
context:
space:
mode:
authorMartin Gräßlin <mgraesslin@kde.org>2016-11-16 14:59:28 +0100
committerMartin Gräßlin <mgraesslin@kde.org>2017-01-06 09:52:45 +0100
commite0db2422362260a2fea3a8e1de4c64011d2f183d (patch)
tree59b5ba0e74c5d24d27156e51e54eb1fc0eb02623 /autotests/kconfig_compiler/test8main.cpp
parent7d53de59b6e65b0cbdf6eaad4f5dbcd341307003 (diff)
downloadkconfig-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.cpp3
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;