From fc75bf72f82ca112760b120b8eea152695703421 Mon Sep 17 00:00:00 2001 From: Matthias Koefferlein Date: Mon, 15 Jun 2020 01:28:49 +0200 Subject: [PATCH] Avoid a segfault when the owner of a callable went out of scope and got deleted (pya): null weak pointer happens --- src/pya/pya/pyaSignalHandler.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/pya/pya/pyaSignalHandler.cc b/src/pya/pya/pyaSignalHandler.cc index 7ac472e62..b015e42e3 100644 --- a/src/pya/pya/pyaSignalHandler.cc +++ b/src/pya/pya/pyaSignalHandler.cc @@ -138,7 +138,10 @@ void SignalHandler::call (const gsi::MethodBase *meth, gsi::SerialArgs &args, gs std::vector callables; callables.reserve (m_cbfuncs.size ()); for (std::vector::const_iterator c = m_cbfuncs.begin (); c != m_cbfuncs.end (); ++c) { - callables.push_back (c->callable ()); + PythonRef callable = c->callable (); + if (callable) { + callables.push_back (c->callable ()); + } } PythonRef result;