Пишу сервер и клиент на Qt, протокол TCP.
Сервер хранит в QVector сокеты всех подключенных клиентов (QVector).
Если закрыть окно одного из клиентов, то на сервере срабатывает сигнал QTcpSocket::disconnected, который вызывает привязанную функцию. В этой функции я вызываю sender, чтобы получить сокет отключенного клиента (чтобы найти его в векторе и удалить):
QTcpSocket *client = qobject_cast<QTcpSocket*>(sender())
При попытке вызвать любой метод сокета client я получаю аварийное завершение программы (Segmentation fault), то есть sender() даёт мне пустой указатель. Что за фигня? Как мне удалять сокеты отключенных клиентов из вектора?