Добрый день. Перерыл всю документацию по Qt, но ответа так и не нашел.
Есть объект A. К его сигналам подключены слоты объекта B. При генерации сигнала A::error() мне нужно удалить объект A. Как мне это сделать? В слоте B::on_a_error() я не могу непосредственно удалить объект A через delete, т. к. это может привести к порче памяти, и вынужден использовать deleteLater(). Но тут возникает другая проблема. deleteLater() удалит объект не сразу, а следовательно он за это время сможет сгенерировать еще кучу сигналов (или уже сгенерировал, но они просто пока что стоят в очереди). Но мне необходимо, чтобы после генерации A::error() вся его сознательная жизнь прекратилась - чтобы он не смог ни принять сигналы, не сгенерировать их. Отменить генерацию сигналов можно через QObject::blockSignals(), а отсоединить слоты через QObject::disconnect(), но это повлияет только на те сигналы, которые будут сгенерированы после вызова этих функций, но что делать с теми сигналами, которые уже порождены и просто ожидают в очереди?