diff options
| author | Ulf Hermann <ulf.hermann@qt.io> | 2023-01-13 15:00:56 +0100 |
|---|---|---|
| committer | Ulf Hermann <ulf.hermann@qt.io> | 2023-01-16 09:49:17 +0100 |
| commit | 7b0b09d87c36dfc67f0488d1ad87d720f721dea4 (patch) | |
| tree | 0d23b51c4aef4b0bbc3b0dc26a34cf5e5f754392 /tools | |
| parent | aae67e762d406210d3e847bbc510677c00bcc78f (diff) | |
qmlls, qmllint: Avoid memory leaks
Pick-to: 6.5
Fixes: QTBUG-104643
Change-Id: I5ca0fea2ef6f822b70c08bc6e49f0d07a732b299
Reviewed-by: Sami Shalayel <sami.shalayel@qt.io>
Diffstat (limited to 'tools')
| -rw-r--r-- | tools/qmlls/qmllanguageservertool.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/tools/qmlls/qmllanguageservertool.cpp b/tools/qmlls/qmllanguageservertool.cpp index ee49706adc..896e0c049c 100644 --- a/tools/qmlls/qmllanguageservertool.cpp +++ b/tools/qmlls/qmllanguageservertool.cpp @@ -214,16 +214,16 @@ int main(int argv, char *argc[]) (parser.isSet(ignoreSettings) ? nullptr : &settings)); if (parser.isSet(buildDirOption)) qmlServer.codeModel()->setBuildPathsForRootUrl(QByteArray(), parser.values(buildDirOption)); - StdinReader *r = new StdinReader; - QObject::connect(r, &StdinReader::receivedData, qmlServer.server(), - &QLanguageServer::receiveData); - QObject::connect(r, &StdinReader::eof, &app, []() { - QTimer::singleShot(100, []() { + StdinReader r; + QObject::connect(&r, &StdinReader::receivedData, + qmlServer.server(), &QLanguageServer::receiveData); + QObject::connect(&r, &StdinReader::eof, &app, [&app]() { + QTimer::singleShot(100, &app, []() { QCoreApplication::processEvents(); QCoreApplication::exit(); }); }); - QThreadPool::globalInstance()->start([r]() { r->run(); }); + QThreadPool::globalInstance()->start([&r]() { r.run(); }); app.exec(); return qmlServer.returnValue(); } |
