gui: ipcworker,ipcserver: Refactor
Crashes were observed, faulting in libQtNetwork. Those were rather rare. We also have no traces. Probably depends on some order signal/slots were processed. Remove shared states between connections, such as the IPCPreviewWorker and socket instance in IPCServer.
This commit is contained in:
@ -11,13 +11,21 @@ class IPCPreviewWorker : public QObject
|
||||
Q_OBJECT
|
||||
private:
|
||||
QFutureWatcher<QByteArray> previewWorkerWatcher;
|
||||
QLocalSocket *peer;
|
||||
bool cleaned = false;
|
||||
|
||||
public:
|
||||
IPCPreviewWorker();
|
||||
void start(RenderConfig config, const QVector<RenderTarget> &targets, QLocalSocket *peer);
|
||||
IPCPreviewWorker(QLocalSocket *peer);
|
||||
void start(RenderConfig config, const QVector<RenderTarget> &targets);
|
||||
void stop();
|
||||
~IPCPreviewWorker()
|
||||
{
|
||||
delete this->peer;
|
||||
}
|
||||
private slots:
|
||||
void shutdownSocket();
|
||||
|
||||
signals:
|
||||
void previewGenerated(QByteArray);
|
||||
void finished();
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user