From c1a4a201c5537cca745425e13424f06f0fa20a69 Mon Sep 17 00:00:00 2001 From: Floris Berendsen <floris.berendsen@gmail.com> Date: Wed, 3 Feb 2016 15:39:31 +0100 Subject: [PATCH] BUG: added std::sting, since equality check doesn't work for 2 char* --- Modules/Core/ComponentInterface/include/Interfaces.hxx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Modules/Core/ComponentInterface/include/Interfaces.hxx b/Modules/Core/ComponentInterface/include/Interfaces.hxx index 930b53b1..e5248dd7 100644 --- a/Modules/Core/ComponentInterface/include/Interfaces.hxx +++ b/Modules/Core/ComponentInterface/include/Interfaces.hxx @@ -48,7 +48,7 @@ template<typename FirstInterface, typename ... RestInterfaces> ComponentBase::interfaceStatus Accepting<FirstInterface, RestInterfaces... >::ConnectFromImpl(const char * interfacename, ComponentBase* other) { // does our component have an accepting interface called interfacename? - if (InterfaceName<InterfaceAcceptor<FirstInterface>>::Get() == interfacename) + if (InterfaceName<InterfaceAcceptor<FirstInterface>>::Get() == std::string(interfacename)) { // cast always succeeds since we know via the template arguments of the component which InterfaceAcceptors its base classes are. InterfaceAcceptor<FirstInterface>* acceptIF = this; @@ -82,7 +82,7 @@ int Accepting<FirstInterface, RestInterfaces... >::ConnectFromImpl(ComponentBase template<typename FirstInterface, typename ... RestInterfaces> bool Accepting<FirstInterface, RestInterfaces... >::HasInterface(const char* interfacename) { - if (InterfaceName<InterfaceAcceptor<FirstInterface>>::Get() == interfacename) + if (InterfaceName<InterfaceAcceptor<FirstInterface>>::Get() == std::string(interfacename)) { return true; } @@ -92,7 +92,7 @@ bool Accepting<FirstInterface, RestInterfaces... >::HasInterface(const char* int template<typename FirstInterface, typename ... RestInterfaces> bool Providing<FirstInterface, RestInterfaces... >::HasInterface(const char* interfacename) { - if (InterfaceName<FirstInterface>::Get() == interfacename) + if (InterfaceName<FirstInterface>::Get() == std::string( interfacename)) { return true; } -- GitLab