Compare commits

...

2 commits

Author SHA1 Message Date
outfoxxed cd2343e57d
fix(stream): segfault for datastream with no reader 2024-03-03 06:27:21 -08:00
outfoxxed bccf43f1f7
fix: root is now destroyed on exit
This should fix a whole lot of things never being able to run cleanup.
2024-03-03 06:26:41 -08:00
3 changed files with 9 additions and 0 deletions

View file

@ -26,6 +26,11 @@ RootWrapper::RootWrapper(QString rootPath)
}
}
RootWrapper::~RootWrapper() {
// event loop may no longer be running so deleteLater is not an option
delete this->root;
}
void RootWrapper::reloadGraph(bool hard) {
if (this->root != nullptr) {
this->engine.clearComponentCache();

View file

@ -2,6 +2,7 @@
#include <qobject.h>
#include <qqmlengine.h>
#include <qtclasshelpermacros.h>
#include <qtmetamacros.h>
#include <qurl.h>
@ -13,6 +14,8 @@ class RootWrapper: public QObject {
public:
explicit RootWrapper(QString rootPath);
~RootWrapper() override;
Q_DISABLE_COPY_MOVE(RootWrapper);
void reloadGraph(bool hard);

View file

@ -35,6 +35,7 @@ void DataStream::onReaderDestroyed() {
}
void DataStream::onBytesAvailable() {
if (this->mReader == nullptr) return;
auto buf = this->ioDevice()->readAll();
this->mReader->parseBytes(buf, this->buffer);
}