diff --git a/src/Gui/GraphvizView.cpp b/src/Gui/GraphvizView.cpp index 07278dd037..2d4680003c 100644 --- a/src/Gui/GraphvizView.cpp +++ b/src/Gui/GraphvizView.cpp @@ -93,6 +93,8 @@ public: // This is needed because embedding a QProcess into a QThread // causes some problems with Qt5. run(); + // Can't use the finished() signal of QThread + emitFinished(); #else start(); #endif @@ -136,6 +138,7 @@ public: Q_SIGNALS: void svgFileRead(const QByteArray & data); void error(); + void emitFinished(); private: QProcess dotProc, unflattenProc; @@ -171,6 +174,9 @@ GraphvizView::GraphvizView(App::Document & _doc, QWidget* parent) // Create worker thread thread = new GraphvizWorker(this); +#if QT_VERSION >= 0x050000 + connect(thread, SIGNAL(emitFinished()), this, SLOT(done())); +#endif connect(thread, SIGNAL(finished()), this, SLOT(done())); connect(thread, SIGNAL(error()), this, SLOT(error())); connect(thread, SIGNAL(svgFileRead(const QByteArray &)), this, SLOT(svgFileRead(const QByteArray &))); @@ -296,7 +302,7 @@ void GraphvizView::done() if (nPending > 0) { nPending = 0; updateSvgItem(doc); - thread->start(); + thread->startThread(); } }