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