Use non-pointer INDI::Property.
A small update.
void ClientManager::newProperty(INDI::Property *pprop)
{
INDI::Property prop(*pprop); // <====== shared!
// Do not emit the signal if the server is disconnected or disconnecting (deadlock between signals)
if (!isServerConnected())
{
IDLog("Received new property %s for disconnected device %s, discarding\n", prop.getName(), prop.getDeviceName());
return;
}
//IDLog("Received new property %s for device %s\n", prop->getName(), prop->getgetDeviceName());
emit newINDIProperty(prop); // <====== shared!
Now, on asynchronous calls, the INDI::Property object will not be destroyed too early.