-void SessionThread::run() {
- _session = new CoreSession(user(), _restoreState);
- connect(this, SIGNAL(addRemoteClient(QIODevice *)), _session, SLOT(addClient(QIODevice *)));
- connect(this, SIGNAL(addInternalClient(SignalProxy *)), _session, SLOT(addClient(SignalProxy *)));
- connect(_session, SIGNAL(sessionState(const QVariant &)), Core::instance(), SIGNAL(sessionState(const QVariant &)));
- emit initialized();
- exec();
- delete _session;
- _session = 0;
+
+void SessionThread::addInternalClientToSession(InternalPeer *internalPeer)
+{
+ internalPeer->setParent(0);
+ internalPeer->moveToThread(session()->thread());
+ emit addInternalClient(internalPeer);