forked from qt-creator/qt-creator
Qmake: Invalidate contents of QmakeVfs on target change
Task-number: QTCREATORBUG-20113 Change-Id: I13cd3749a942cc06172dd63f163bff88490a44ed Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
This commit is contained in:
@@ -562,7 +562,12 @@ void QmakeProject::asyncUpdate()
|
|||||||
{
|
{
|
||||||
m_asyncUpdateTimer.setInterval(UPDATE_INTERVAL);
|
m_asyncUpdateTimer.setInterval(UPDATE_INTERVAL);
|
||||||
|
|
||||||
m_qmakeVfs->invalidateCache();
|
if (m_invalidateQmakeVfsContents) {
|
||||||
|
m_invalidateQmakeVfsContents = false;
|
||||||
|
m_qmakeVfs->invalidateContents();
|
||||||
|
} else {
|
||||||
|
m_qmakeVfs->invalidateCache();
|
||||||
|
}
|
||||||
|
|
||||||
Q_ASSERT(!m_asyncUpdateFutureInterface);
|
Q_ASSERT(!m_asyncUpdateFutureInterface);
|
||||||
m_asyncUpdateFutureInterface = new QFutureInterface<void>();
|
m_asyncUpdateFutureInterface = new QFutureInterface<void>();
|
||||||
@@ -588,7 +593,7 @@ void QmakeProject::asyncUpdate()
|
|||||||
void QmakeProject::buildFinished(bool success)
|
void QmakeProject::buildFinished(bool success)
|
||||||
{
|
{
|
||||||
if (success)
|
if (success)
|
||||||
m_qmakeVfs->invalidateContents();
|
m_invalidateQmakeVfsContents = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool QmakeProject::supportsKit(const Kit *k, QString *errorMessage) const
|
bool QmakeProject::supportsKit(const Kit *k, QString *errorMessage) const
|
||||||
@@ -819,6 +824,7 @@ void QmakeProject::activeTargetWasChanged()
|
|||||||
}
|
}
|
||||||
|
|
||||||
m_activeTarget = activeTarget();
|
m_activeTarget = activeTarget();
|
||||||
|
m_invalidateQmakeVfsContents = true;
|
||||||
|
|
||||||
if (!m_activeTarget)
|
if (!m_activeTarget)
|
||||||
return;
|
return;
|
||||||
|
@@ -181,6 +181,7 @@ private:
|
|||||||
// cached data during project rescan
|
// cached data during project rescan
|
||||||
std::unique_ptr<QMakeGlobals> m_qmakeGlobals;
|
std::unique_ptr<QMakeGlobals> m_qmakeGlobals;
|
||||||
int m_qmakeGlobalsRefCnt = 0;
|
int m_qmakeGlobalsRefCnt = 0;
|
||||||
|
bool m_invalidateQmakeVfsContents = false;
|
||||||
|
|
||||||
QString m_qmakeSysroot;
|
QString m_qmakeSysroot;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user