From d299a1f3860da1c4053ad0438e379d8f50bdbe14 Mon Sep 17 00:00:00 2001 From: peri4 Date: Tue, 12 Dec 2023 22:05:06 +0300 Subject: [PATCH] support for multi ctor CONNECTL --- CMakeLists.txt | 2 +- libs/main/core/piobject.cpp | 13 +++++++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8eccd0b5..7bd73ff4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,7 +3,7 @@ cmake_policy(SET CMP0017 NEW) # need include() with .cmake project(PIP) set(PIP_MAJOR 3) set(PIP_MINOR 15) -set(PIP_REVISION 0) +set(PIP_REVISION 1) set(PIP_SUFFIX ) set(PIP_COMPANY SHS) set(PIP_DOMAIN org.SHS) diff --git a/libs/main/core/piobject.cpp b/libs/main/core/piobject.cpp index c3efe427..bc03c919 100644 --- a/libs/main/core/piobject.cpp +++ b/libs/main/core/piobject.cpp @@ -404,10 +404,15 @@ PIObject::Connection PIObject::piConnectLS(PIObject * src, const PIString & sig, return Connection(); } if (m_src.size() != 1) { - piCout << "[piConnectLS] Error: can`t connect overloaded event \"" << sig << "\" in class \"" << src->className() << "\"! (" << loc - << ")"; - delete f; - return Connection(); + PIString ffm = m_src[0].fullFormat(); + for (int i = 1; i < m_src.size_s(); ++i) { + if (ffm != m_src[i].fullFormat()) { + piCout << "[piConnectLS] Error: can`t connect overloaded event \"" << sig << "\" in class \"" << src->className() + << "\", found " << m_src.size() << " events! (" << loc << ")"; + delete f; + return Connection(); + } + } } PIObject::Connection conn(0, m_src[0].addr, sig, src); // piCout << "found";