forked from qt-creator/qt-creator
C++: Release more documents.
- fix memory leak in find-usages - do not retain snapshot in search history - when an editor is invisible for more than 2 minutes, release the backing snapshot Retaining snapshots will retain their documents, and if done for too long, the memory consumption might grow. This is especially the case when switching to a different kit (Qt version): in that case, the new versions of headers will be indexed, while the old ones stay around. Task-number: QTCREATORBUG-5583 Task-number: QTCREATORBUG-7645 Task-number: QTCREATORBUG-9842 Change-Id: I045eda1565e0a3fa702baeffaab9c12662f90289 Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com> Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
This commit is contained in:
committed by
Nikolai Kosjar
parent
d58da4bd7e
commit
566be0995d
@@ -60,13 +60,12 @@ using namespace Utils;
|
||||
FunctionDeclDefLinkFinder::FunctionDeclDefLinkFinder(QObject *parent)
|
||||
: QObject(parent)
|
||||
{
|
||||
connect(&m_watcher, SIGNAL(finished()),
|
||||
this, SLOT(onFutureDone()));
|
||||
}
|
||||
|
||||
void FunctionDeclDefLinkFinder::onFutureDone()
|
||||
{
|
||||
QSharedPointer<FunctionDeclDefLink> link = m_watcher.result();
|
||||
QSharedPointer<FunctionDeclDefLink> link = m_watcher->result();
|
||||
m_watcher.reset();
|
||||
if (link) {
|
||||
link->linkSelection = m_scannedSelection;
|
||||
link->nameSelection = m_nameSelection;
|
||||
@@ -256,7 +255,9 @@ void FunctionDeclDefLinkFinder::startFindLinkAt(
|
||||
result->sourceFunctionDeclarator = funcDecl;
|
||||
|
||||
// handle the rest in a thread
|
||||
m_watcher.setFuture(QtConcurrent::run(&findLinkHelper, result, refactoringChanges));
|
||||
m_watcher.reset(new QFutureWatcher<QSharedPointer<FunctionDeclDefLink> >());
|
||||
connect(m_watcher.data(), SIGNAL(finished()), this, SLOT(onFutureDone()));
|
||||
m_watcher->setFuture(QtConcurrent::run(&findLinkHelper, result, refactoringChanges));
|
||||
}
|
||||
|
||||
FunctionDeclDefLink::FunctionDeclDefLink()
|
||||
@@ -270,10 +271,6 @@ FunctionDeclDefLink::FunctionDeclDefLink()
|
||||
targetFunctionDeclarator = 0;
|
||||
}
|
||||
|
||||
FunctionDeclDefLink::~FunctionDeclDefLink()
|
||||
{
|
||||
}
|
||||
|
||||
bool FunctionDeclDefLink::isValid() const
|
||||
{
|
||||
return !linkSelection.isNull();
|
||||
|
||||
Reference in New Issue
Block a user